首页 > 其他分享 >Flask之request.json()和 request.form.get()

Flask之request.json()和 request.form.get()

时间:2023-11-21 14:00:42浏览次数:35  
标签:__ form get Flask request json data

在Flask中,request.jsonrequest.form.get() 用于从HTTP请求中获取数据,但它们主要用于不同类型的数据传递方式。

  1. request.json

    • 用于从包含JSON数据的请求体中提取数据。

    • 适用于POST请求中包含JSON数据的情况,通常是通过AJAX请求或使用Content-Type: application/json标头发送的数据。

    • 自动解析JSON数据,并返回一个对应的Python字典或其他合适的数据类型。

    • 使用时,确保请求的Content-Type标头是application/json

      data = request.json
      
  2. request.form.get()

    • 用于从表单数据中获取数据。

    • 适用于HTML表单通过POST请求提交的数据,通常使用application/x-www-form-urlencodedmultipart/form-data作为Content-Type

    • 可以通过表单字段的名称来获取相应的值。

      data = request.form.get('fieldname')
      

总的来说,选择使用哪个方法取决于客户端发送数据的方式。如果是JSON数据,使用 request.json;如果是表单数据,使用 request.form.get()。如果可能,可以根据需要同时处理这两种情况,以确保你的应用程序可以处理不同类型的请求。

以下是一个示例,说明如何根据请求的内容类型使用这两种方法:

from flask import Flask, request

app = Flask(__name__)

@app.route('/process_data', methods=['POST'])
def process_data():
    if request.headers['Content-Type'] == 'application/json':
        data = request.json
        # 处理 JSON 数据
    elif request.headers['Content-Type'] == 'application/x-www-form-urlencoded':
        data = request.form.get('fieldname')
        # 处理表单数据
    else:
        return 'Unsupported Media Type', 415  # 返回415状态码表示不支持的媒体类型

    # 进行处理的其他逻辑

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

在实际应用中,通常会根据具体的需求和前端交互来选择使用 request.jsonrequest.form.get()


或前端发请求加这个

标签:__,form,get,Flask,request,json,data
From: https://www.cnblogs.com/code3/p/17846432.html

相关文章

  • Python下使用requests库遇到的问题及解决方案
    每一盏灯都有一个故事……当凌晨2点我的房间灯还亮着时,那就是我与BUG的一场生死博弈。一个人静静地坐在电脑前不断地写代码,感觉快要麻木了,好比闭关修炼一样枯燥无味。最终当我打通任督二脉后,bug修复迎来的一片曙光。一、问题背景在最近的项目中,我使用Python3.6和DigestAuth进行身......
  • java to json / json to java使用FastJson对JSON字符串、JSON对象及JavaBean之间的相
    目录1、准备 2、javato json 3、jsontojava1、准备 1、json格式在线查看2.下载 阿里巴巴json 解析库alibaba/fastjson下载最新的jar包并且放在项目libs目录下,addaslib````2、javato json 比如我们想使用java 编写以下json格式数据{   "creatT......
  • 【Flask使用】全知识md文档,4大部分60页第3篇:状态cookie和session保持
    本文的主要内容:flask视图&路由、虚拟环境安装、路由各种定义、状态保持、cookie、session、模板基本使用、过滤器&自定义过滤器、模板代码复用:宏、继承/包含、模板中特有变量和函数、Flask-WTF表单、CSRF、数据库操作、ORM、Flask-SQLAlchemy、增删改查操作、案例、蓝图、单元测......
  • request对象方法
    #登陆功能#form表单action三个参数写法request.method#获取当前请求方式全大写的字符串request.GET#获取url问好后面携带的参数 .get()列表最后一个元素.getlist()拿整个列表request.POST#获取post请求提交过来的普通键值对(不包含文件) .get()列表最后一个......
  • flask 文件上传与接收
    在做flask后端,有个需求是将视频从前端上传至后端,然后再页面播放上传的视频,记录下知识点。 文件流接收1、前端传来的对象是二进制文件流,有两种方法保存本地。(1)通过open()方法将文件流写入保存(2)直接用调用file.save()方法保存传来的文件流:fromflaskimportFlask,request......
  • 请求扩展,蓝图 , flask-session,数据库连接池,wtforms ,flask-script,信号,flask-cache
    1请求扩展......
  • Python中用requests时遇到的错误警告解决方案
    最近,我在Python2.7.6(Ubuntu14.04.2LTS)环境中将requests库的版本从2.5.3升级到2.6.0,却遇到了’AtrueSSLContextobjectisnotavailable’警告。每当我在Python2.7.6环境中尝试使用requests库访问’github’时,都会看到这个警告。mkvirtualenvrequests260-irequests==2.6.0......
  • 大白话说Python+Flask入门(三)
    写在前面今天状态很不好,我发现学这部分知识的时候,会出现溜号或者注意力无法集中的情况。我能想到的是,大概率是这部分知识,应该是超出了我现在的水平了,也就是说我存在知识断层了,整体感觉真的是一知半解。那有同学会问了,那你能说明白吗?我理解的肯定能呀,来往下看!Flask的使用1、......
  • 01.Flask环境安装与配置
    Flask介绍Flask是一个轻量级的Web开发框架。它是依赖Jinja2和WerkzeugWSGI服务的一个微型框架。之所以说是轻量级,是因为Flask框架有这两个核心的内容。其中Jinja2是模板引擎,Werkzeug是路由模块。所以如果想实现其它的功能,都需要进行扩。比如说:发邮件,需要使用到......
  • json LocalDateTime转对象
    jsonLocalDateTime转对象feign.codec.DecodeException:JSONparseerror:Cannotdeserializeinstanceofjava.time.LocalDateTimeoutofSTART_ARRAYtoken;nestedexceptioniscom.fasterxml.jackson.databind.JsonMappingException:Cannotdeserializeinstanceof......