主要摘引自Flask文档的《快速入门》章节
HTTP方法
默认情况下,路由只响应GET
请求,通过给route()装饰器提供一个 methods 参数,即可让路由响应其他方法:
# 同时响应GET和POST方法
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
# 处理用户提交的登录信息表单
else:
# 返回用户登录信息
静态文件
在包中或模块旁边创建一个名为static
的文件夹,即可在应用中使用 /static
访问其中的静态资源,为静态文件生成URL时,使用特殊的'static'
端点名:
url_for('static',filename="style.css")
请求对象
使用前需先导入
from flask import request
当前的请求方式通过method
属性访问,表单数据通过form
属性访问:
@app.route('/login', methods=['POST', 'GET'])
def login():
error = None
if request.method == 'POST':
# 获取并校验请求方法
if valid_login(request.form['username'],
request.form['password']):
return log_the_user_in(request.form['username'])
else:
error = '无效的用户名或密码'
else:
# 处理GET方法
当
form
中的键值不存在时,会抛出一个KeyError
,需捕获并做相应处理
通过args
属性访问URL中包含提交的参数(?key=value):
searchword = request.args.get('q','')