GET/POST
- 使用get/post方法需要事先在函数中引入request
from flask import request
get:
- 使用场景:仅用于向服务器获取数据,没有对服务器产生影响
- 参数在url中显示,以?分隔跟在url之后
- 获取参数:request.args
#url = "www.baidu.com/?key=hello"
key = request.args.get('key')
post:
- 要对服务器产生影响,例如注册登录
- 参数以form data形式发送给服务器
- 获取参数:request.form
key = request.form.get('key')
-
注意:
post请求一定得在表单中设置name属性,才能从request获取到值,并且视图函数中需要设置请求方法,不然默认为GET会抛出异常
g全局属性
- 使用g属性需要事先在函数中引入g模块
from flask import g
#设置和调用
g.key = "hello"
- 一次请求的所有地方皆可使用,类似于设置全局属性,设置的属性只要是在当前请求中,任意位置都可以通过g.param_name获取
- 专门用于保存用户数据
钩子函数
- before_request
- 在请求之前执行
- 在视图函数之前执行
- 只是一个装饰器,用于设置函数
@before_request
def index():
function_content
- context_processor
- 上下文处理器应该返回一个字典,字典的key会被模板当做变量渲染
- 上下文处理器中返回的字典所有页面都可用,例如在index函数中返回了{user:hello},则此数据在渲染的所有页面皆可使用
@context_processor
def index():
function_content