获取flask请求参数的几种方式

  1. request.args
url = http://192.168.56.1:9933/good?id=1&name=abc

request.args就是获取请求链接中 ? 后面的所有参数;
把所有参数转换成一个列表,列表里面的元素是一个元组,结构为:('id','1');
再转换成一个字典,还有编码等操作;

获取具体某个参数时可以:
    id = request.args.get('id')
  1. request.values
request.args和request.form都包含在request.values里面
即把两个列表拼接后,转换成一个字典

当request.args和request.form都有同一个键时,取到的时request.args里面的值
因为request.form会被先序列化,当request.args序列化时就会覆盖前面的

获取具体某个参数时可以直接:
    id = request.args.get('id')
  1. request.json
要想获取request.json中的数据
    1. 请求参数属性得有传值过来
    2. 在Headers中必须设置 Content-Type:application/json

设置了Content-Type:application/json的Body数据只能通过request.json获取

request.json是把request.data的数据转换成JSON格式的数据
request.data的数据来源是请求参数属性Body
  1. request.form
原理跟request.args差不多,只是request.form的数据来源是form表单,其他操作基本一致
  1. request.data
request.data返回的数据是一个bytes类型
数据来源是 请求参数属性中的Body

当请求没有设置Content-Type:application/json时,Body里面的数据都会放到request.data
  1. request.files
request.files&#x63A5;&#x6536;&#x7684;&#x662F;form&#x8868;&#x5355;&#x4E2D;<input type="file" name="file">&#x4F20;&#x8FC7;&#x8FC7;&#x6765;&#x7684;&#x6570;&#x636E;

&#x83B7;&#x53D6;&#x67D0;&#x4E2A;&#x4E0A;&#x4F20;&#x7684;&#x6587;&#x4EF6;&#x5BF9;&#x8C61;
file = request.files.get('file')
&#x4FDD;&#x5B58;&#x5230;&#x6587;&#x4EF6;
file.save(path)

&#x83B7;&#x53D6;&#x4E0A;&#x4F20;&#x6587;&#x4EF6;&#x7684;&#x540D;&#x5B57;
from werkzeug.utils import secure_filename

file_name = secure_filename(file.filename)

  1. request.headers

获取flask请求参数的几种方式

获取请求headers里面的参数。这里有个天坑,坑了我一晚上。

获取flask请求参数的几种方式

nginx转发请求时,变量带下划线自动忽略。要想不忽略,在ngnix.conf里添加配置:

获取flask请求参数的几种方式

Original: https://blog.csdn.net/DH2442897094/article/details/115955818
Author: wangan094
Title: 获取flask请求参数的几种方式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/747040/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球