Flask学习使用笔记
本文仅用作学习记录
一、入门看文档
绝对不能在生产环境 中使用调试器
虽然交互调试器不能在分布环境下工作(这使得它基本不可能用于生产环境),但是 它允许执行任意代码,这样会成为一个重大安全隐患。因此, 绝对不能在生产环境 中使用调试器 。
如果需要打开所有开发功能(包括调试模式),那么要在运行服务器之前导出 FLASK_ENV 环境变量并把其设置为 development:
export FLASK_ENV=development
flask run
在 Windows 下需要使用 set 来代替 export 。
这样可以实现以下功能:
- 激活调试器。
- 激活自动重载。
- 打开 Flask 应用的调试模式。
还可以通过导出 FLASK_DEBUG=1 来单独控制调试模式的开关。
# 开启Debug
export FLASK_DEBUG=1
# 关闭Debug
export FLASK_DEBUG=0
唯一的 URL / 重定向行为
以下两条规则的不同之处在于是否使用尾部的斜杠。
@app.route('/projects/')
def projects():
return 'The project page'
@app.route('/about')
def about():
return 'The about page'
projects 的 URL 是中规中矩的,尾部有一个斜杠,看起来就如同一个文件夹。 访问一个没有斜杠结尾的 URL 时 Flask 会自动进行重定向,帮你在尾部加上一个斜杠。
about的 URL 没有尾部斜杠,因此其行为表现与一个文件类似。如果访问这个 URL 时添加了尾部斜杠就会得到一个 404 错误。这样可以保持 URL 唯一,并帮助 搜索引擎避免重复索引同一页面。
看这几张截图明白了:
在地址栏最后不加/
,flask会自动添加上。就是说不管加不加都能重新正确定向。
不加\
可以访问,加了\
,就不OK了。