搜索
您的当前位置:首页正文

Flask学习(十) - web请求

来源:知库网

GET/POST

  • 使用get/post方法需要事先在函数中引入request
from flask import request

get:

  1. 使用场景:仅用于向服务器获取数据,没有对服务器产生影响
  2. 参数在url中显示,以?分隔跟在url之后
  3. 获取参数:request.args
#url = 

key = request.args.get('key')

post:

  1. 要对服务器产生影响,例如注册登录
  2. 参数以form data形式发送给服务器
  3. 获取参数:request.form
key = request.form.get('key')
  • 注意
       post请求一定得在表单中设置name属性,才能从request获取到值,并且视图函数中需要设置请求方法,不然默认为GET会抛出异常

g全局属性

  • 使用g属性需要事先在函数中引入g模块
from flask import g


#设置和调用
g.key = "hello"
  1. 一次请求的所有地方皆可使用,类似于设置全局属性,设置的属性只要是在当前请求中,任意位置都可以通过g.param_name获取
  2. 专门用于保存用户数据

钩子函数

  1. before_request
  • 在请求之前执行
  • 在视图函数之前执行
  • 只是一个装饰器,用于设置函数
@before_request
def index():
    function_content
  1. context_processor
  • 上下文处理器应该返回一个字典,字典的key会被模板当做变量渲染
  • 上下文处理器中返回的字典所有页面都可用,例如在index函数中返回了{user:hello},则此数据在渲染的所有页面皆可使用
@context_processor
def index():
    function_content
Top