1. 最小的应用
1 | from flask import Flask |
这段代码发生了什么?
首先,导入 Flask 类
创建名为 app 的 Flask 实例
将构造函数的 name 参数传给 Flask 程序,这一点可能会让 Flask 开发新手心
生迷惑。Flask 用这个参数决定程序的根目录,以便稍后能够找到相对于程
序根目录的资源文件位置。route,即路由,处理 URL 和函数之间关系的程序称为路由。
@app.route('/')
是一个装饰器,它告诉它所装饰的函数hello_world()
要触发的 URLhello_world()
函数用于生成页面,并返回我们要展示在浏览器上的信息
浏览器向服务器发送请求,服务器再把请求发送给 flask,flask 把返回的值再传到浏览器。
2. 启动程序并进入调试
启动程序
1 | $ export FLASK_APP=hello.py |
在命令行进入调试模式,确保每次修改代码后不必重启服务器
1 | $ export FLASK_ENV=development |
3. URL 构建函数:url_for()
什么,写死 URL?这辈子是不可能把 URL 写死的。
1 | from flask import Flask, url_for |
3. http 方法
路由默认只有 get 方法,可以使用路由装饰器的 methods
参数来处理不同的 HTTP 方法。
4. 静态文件
比如说 CSS、js、背景图片这些都是固定的,存储在 static
文件夹中,我可以用url_for()
函数来访问这些静态文件,比如访问static/style.css
就可以通过url_for('static', filename='style.css')
。
5. 渲染模板
另外一个非常重要的文件夹是templates
,好比就是人的衣柜,它可以让人有不同的装饰风格,flask 的模板引擎是 Jinja。
其他
如会话、重定向、响应,目前还用不到,后续补充。