内容简介:这是学习 flask 的第一篇笔记,重在快速概览,了解上手的一些基础知识。或者如何让其它机器也访问到呢?指定监听所有 IP 地址即可。
【整理】Flask 学习笔记之一
这是学习 flask 的第一篇笔记,重在快速概览,了解上手的一些基础知识。
1、如何启动 falsk
$ export FLASK_APP=yourfile.py $ flask run
或者
$ export FLASK_APP=yourfile.py $ python -m flask run
如何让其它机器也访问到呢?指定监听所有 IP 地址即可。
flask run --host=0.0.0.0
启动调试模式
$ export FLASK_ENV=development
2、路由参数类型转换
@app.route('/path/<path:subpath>')
的转换类型
类型 | 说明 |
---|---|
string | 接受任何不包含斜杠的文本(默认值) |
int | 接受正整数 |
float | 接受正浮点数 |
path | 类似 string ,但可以包含斜杠 |
uuid | 接受 UUID 字符串 |
3、唯一的 URL/ 重定向行为
@app.route('/projects/')
和 @app.route('/about')
只有一个斜杠的区别,前者如果在地址中未加斜杠,flask 也会帮你重定向到正确位置,但后者如果加了斜杠则会 404 错误!
4、URL构建
url_for()
函数用于构建指定函数的URL。为什么用它呢?
- 翻转通常比硬编码URL的表述性更好
- 便于集中处理,减少散落
- URL创建会处理特殊字符的转移和 Unicode 数据
- 生产的路径总是绝对路径,可以避免相对路径产生副作用
- 即是应用不在URL根路径,那么它也会妥善处理
5、响应不同的HTTP方法
通过装饰器的 Methods 参数来指定响应的方法,例如:
@app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST' return your_post() else: return your_get()
6、渲染模板
这里 flask 跟 Django 一样,都采用了模板的方式,免去用户自己转义的麻烦。一个简单例子:
from flask import render_template @app.route('/hello/') @app.route('/hello/<name>') def hello(name=None): return render_template('hello.html', name=name)
Flask 会在 templates 文件夹内寻找模板。因此,如果你的应用是一个模块, 那么模板文件夹应该在模块旁边;如果是一个包,那么就应该在包里面:
情形 1 : 一个模块:
/application.py /templates /hello.html
情形 2 : 一个包:
/application /__init__.py /templates /hello.html
以上所述就是小编给大家介绍的《Flask_notes》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
加密与解密(第4版)
段钢 / 电子工业出版社 / 2018-10-1 / 198
《加密与解密(第4版)》以加密与解密为切入点,讲述了软件安全领域的基础知识和技能,如调试技能、逆向分析、加密保护、外壳开发、虚拟机设计等。这些知识彼此联系,读者在掌握这些内容之后,很容易就能在漏洞分析、安全编程、病毒分析、软件保护等领域进行扩展。从就业的角度来说,掌握加密与解密的相关技术,可以提高自身的竞争能力;从个人成长的角度来说,研究软件安全技术有助于掌握一些系统底层知识,是提升职业技能的重要......一起来看看 《加密与解密(第4版)》 这本书的介绍吧!