python flask request 参数映射_flask中获取request的参数的方法

request请求总体分为两类:

1.get请求

访问时会在地址栏直接显示参数不安全,且参数大小比较小。

2.post请求

参数不显示在地址栏,一般用户注册、登录都通过post请求完成。

flask获取参数方式:

request.form.get("key", type=str, default=None) 获取表单数据

request.args.get("key") 获取get请求参数

request.values.get("key") 获取所有参数

本文主要介绍以上三种方式,其次也有获取解析json数据格式,request.get_json(),这里不进行详细介绍了。

下面直接开始试验,以用户注册为例:

需要获取四个参数:用户手机号、密码、校验密码、手机验证码

mobile = request.form.get("mobile")

password = request.form.get("password",type=str,default=None)

password_repeat = request.form.get("password_repeat",type=str,default=None)

mobile_code = request.form.get("mobile_code",type=str,default=None)

整体代码截图

分别通过3中方式获取参数:request.form, request.args,request.values

postForm= request.form

getArgs= request.args

postValues= request.values

试验:

试验1::Get请求:将参数直接拼接在url上,以下均以postman, pycharm调试窗截图说明。

url:http://127.0.0.1:5000/register?mobile=18817366807&password=123456&password_repeat=123456&mobile_code=111111

postman get 发送请求配置1

pycharm debuger 窗口变量截图1

在get请求下,request.form无法获取参数,其他两者都可以。

试验2:通过postman将get请求改为post请求

postman post发送请求配置2

pycharm debuger 窗口变量截图2

在post请求下,request.form无法获取有效参数,其他两者都可以,当然content-type/form-data 发生改变,当然这里可也简单理解为该请求为伪post请求。

试验3:post请求,在body内创建form-data参数成员

POST /register?mobile=18817366807&password=123456&password_repeat=123456&mobile_code=111111 HTTP/1.1

Host: 127.0.0.1:5000

Cache-Control: no-cache

Postman-Token: 31fff394-653b-ac72-6011-313518d4c2eb

Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

------WebKitFormBoundary7MA4YWxkTrZu0gW

Content-Disposition: form-data; name="formmember"

form

------WebKitFormBoundary7MA4YWxkTrZu0gW--

postman post发送请求配置3

pycharm debuger 窗口变量截图3

三者全部获得参数值,最让人困惑的是postForm获得了mobile等值。此外需要注意的是postValues中含有全部的参数。

试验4:post请求,删除get部分参数

postman post发送请求配置4

pycharm debuger 窗口变量截图4

这次的结果倒是符合预期,postForm获得form表单数据,postValues也能获取到。

试验5:补充实验

postman post发送请求配置5

pycharm debuger 窗口变量截图5

综上,可以得出结论,request.form.get("key", type=str, default=None) 获取表单数据,request.args.get("key") 获取get请求参数,request.values.get("key") 获取所有参数。推荐使用request.values.get().

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,这是如何使用 PythonFlask 来构建一个后端的基本流程: 1. 安装 Flask:使用 pip 安装 Flask 库:`pip install Flask` 2. 创建一个 Flask 应用:创建一个名为 app.py 的文件,并在该文件导入 Flask 库。 3. 编写 Flask 应用:在 app.py 文件,使用 Flask 库创建一个 Flask 应用。 4. 定义路由:使用 Flask 应用定义路由,即 URL 地址。 5. 启动服务器:使用 Flask 应用启动服务器,以便对外提供服务。 以下是一个简单的 Flask 应用的示例代码: ``` from flask import Flask app = Flask(__name__) @app.route("/") def home(): return "Hello, Flask!" if __name__ == "__main__": app.run() ``` 运行这段代码,Flask 将在本地启动一个服务器,可以通过浏览器访问 http://localhost:5000/ 来查看 "Hello, Flask!" 的结果。 ### 回答2: Python是一种高级编程语言,具有简单易学、语法优雅、功能强大等优点,广泛应用于Web开发。而Flask是一个基于Python的轻量级Web应用框架,非常适合用于构建后端服务。 使用Python编写Flask后端可以实现各种功能和需求,比如处理用户请求、数据存储和查询、业务逻辑处理等。下面是一个简单的示例: 首先,我们需要导入Flask库和相关的依赖库: ``` from flask import Flask, request, jsonify ``` 然后,我们创建一个Flask应用程序: ``` app = Flask(__name__) ``` 接下来,我们可以使用装饰器`@app.route()`来定义路由和请求方法,比如处理一个GET请求: ``` @app.route('/api/users', methods=['GET']) def get_users(): # 处理GET请求逻辑 return jsonify({'users': ['user1', 'user2', 'user3']}) ``` 这个例子展示了一个简单的GET请求处理函数,当用户请求`/api/users`时,会返回一个包含用户列表的JSON响应。 除了GET请求,Flask还支持POST、PUT、DELETE等其他请求方法,我们可以使用类似的方式来定义对应的处理函数。 最后,我们需要运行Flask应用程序来启动后端服务: ``` if __name__ == '__main__': app.run() ``` 上述是一个简单的Flask后端示例,实际的应用会根据具体需求进行不同的处理,比如连接数据库、认证授权、数据校验等。同时,Flask还提供了丰富的扩展和插件,可以更便捷地实现各种功能。 总之,使用Python编写Flask后端可以快速构建可靠、高效的Web服务,满足不同的业务需求。 ### 回答3: Python是一种强大且广泛使用的编程语言,它有许多成熟的框架可以帮助开发人员快速构建各种应用程序。Flask是其之一,它是一个轻量级的Web应用程序框架,非常适合初学者或小型项目。 使用Python编写一个Flask后端可以带来以下好处: 1. 简单易用:Flask提供简洁的API和灵活的设计模式,使得编写后端逻辑更加直观和易于维护。 2. 快速开发:Python的语法简洁明了,配合Flask框架的扩展,可以快速构建一个功能完善的Web应用程序。 3. 良好的可扩展性:Flask支持各种第三方插件和扩展,可以非常容易地集成其他功能,如数据库连接、缓存、认证等。 4. 丰富的生态系统:PythonFlask都有庞大的生态系统,社区提供了大量的文档、教程和开源项目,开发者可以借鉴和复用这些资源。 编写一个Flask后端的步骤如下: 1. 安装PythonFlask:首先确保在计算机上安装了PythonFlask库,可以通过命令行运行pip install flask来安装。 2. 创建Flask应用:创建一个Python脚本,导入Flask库并初始化一个Flask应用对象。 3. 定义路由和视图函数:使用@app.route装饰器定义URL路由和对应的视图函数,视图函数负责处理请求并返回响应。 4. 处理请求和响应:在视图函数,可以使用Flask提供的request对象获取请求参数,使用Flask提供的response对象构造响应内容。 5. 启动Flask应用:在脚本的末尾,添加启动应用的代码,通常是app.run()。 6. 测试应用:使用浏览器或HTTP客户端工具发送请求,检查应用是否能正确处理并返回响应。 总结来说,使用Python编写Flask后端可以快速创建一个功能完善的Web应用程序,而且还具备良好的可扩展性和丰富的生态系统。无论是初学者还是有经验的开发者,都可以轻松上手并发挥PythonFlask的优势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值