Flask框架——上下文

上下文

上下文:相当于一个容器,保存了Flask程序运行过程中的一些信息。
Flask有两种上下文:请求上下文和应用上下文。
## 请求上下文
在flask中,可以直接在视图函数中使用request这个对象进行获取相关数据,而request就是请求上下文的对象,保存了当前本次请求的相关数据,请求上下文的对象有:request,session。
request:封装了HTTP请求的内容,针对的是http请求,举例:user = request.args.get('user'),获取的是get请求的参数。
session:用来记录请求会话中的信息,针对的是用户信息。举例:session['name'] = user.id,可以记录用户信息,还可以通过session.get('name')获取用户信息。
请求上下文:request(记录客户端和服务端交互的数据)

from flask import Flask,request
app = Flask(__name__)

# 请求上下文对象:request和session
# rquest是Flask内置的请求上下文对象
# request对象常用的属性:args/form/method/url/headers/cookies
# args:查询字符串,url地址栏中,?后面,以=号进行传值,&进行分隔的数据
# request的基本用法:args
@app.route('/')
def index():
    #获取get请求的查询字符串参数
    # 前端的url请求地址:http://www.127.0.0.1/?name = wax
    # 此时下面的代码会在控制台输出wax。
    name = request.args.get('name')
    print('name')
    # 输出url地址
    print(request.url)
    # 输出http的请求方法
    print(request.method)
    # 输出请求头、
    print(request.headers)
    # 输出表单参数的请求,表单的存储是以key/value的形式存储的。即 'name' = 'wax'
    name = request.form.get('name')
    print(name)
    return 'hello world'

# form是指表单参数的请求
@app.route('/form/')
def demo_form():

    return 'demo_form'



if __name__ == '__main__':
app.run()

请求上下文:session

应用上下文:flask程序运行过程中的信息
它的主要作用是帮助request获取当前的应用,随request而生,随rewquest而灭。有的文档会介绍说这是一个全局变量,但是具体来说是一个线程内部的全局变量。可以用来记录项目日志。

g变量:
也是flask程序全局的一个临时变量,临时传递一些数据。

猜你喜欢

转载自blog.csdn.net/weixin_43617255/article/details/83833440
今日推荐