13 flask之请求和响应

1 request对象

1.1什么是request对象?

request对象封装解析了请求报文中的数据,其大部分功能是由依赖包werkzeug完成的,并且每个request对象都是线程隔离的,保证了数据的安全性。

1.2为什么要有request对象?

request对象解决了很多问题,各种请求的方法以及请求参数的格式都不一致,所以flask帮我们做了一个request对象,专门去解析各种方法以及各种格式的请求,以便于去开发使用。

1.3 requst对象的常用方法

request对象使用需要从flask模块中导入

from flask import Flask, request

1.4 使用request属性获取url

案例,访问:  :

request的解析结果如下。

app.route('/student_list/')
def student_list():
    print(request.path)          # 输出 /student_list/
    print(request.full_path)     # 输出 /student_list/?name=mark
    print(request.host)          # 输出 127.0.0.1:5000
    print(request.host_url)      # 输出 http://127.0.0.1:5000/
    print(request.base_url)      # 输出 http://127.0.0.1:5000/student_list/
    print(request.url)           # 输出 http://127.0.0.1:5000/student_list/?name=mark
    print(request.url_root)      # 输出 http://127.0.0.1:5000/

    return 'request.urldemo测试'

2 请求相关信息

request.method
request.args       # get方式提交的参数
request.form       # post方式提交的参数
request.values
request.cookies
request.headers
request.path
request.full_path
request.script_root
request.url
request.base_url
request.url_root
request.host_url
request.host
request.files
obj = request.files['the_file_name']
obj.save('/var/www/uploads/' + secure_filename(f.filename))

3 响应相关信息

  • 放响应相关信息
return "字符串"
return render_template('html模板路径',**{})
return redirect('/index.html')
return jsonify({'k1':'v1'})
  • cookie相关:make_response
from flask import Flask, Response, make_response
response = make_response(render_template('index.html'))
# response是flask.wrappers.Response类型
response.delete_cookie('key')
response.set_cookie('key', 'value')
return response
  • header相关
response.headers['X-Something'] = 'A value'
return response
posted @ 2022-03-22 23:19  甜甜de微笑  阅读(104)  评论(0编辑  收藏  举报