flask框架的参数,不对,确切地说应该是大多数框架的参数传递都是这几种:
1. 路由传参
2. 请求头传参
3. 请求体传参
所以我们必须知道
路由传参:
指定参数:
比如说 http://localhost:8000/user/<int:id>/
在flask里面有6种固定的转换器, 分别为:
- UnicodeConverter: 字符串
- AnyConverter: 匹配any中任意路径, 也就是在路由中直接传<key>'
- PathConverter: 路径, 参数中可以包含"/"
- IntergerConverter: 整型
- FloatConverter: 浮点型 几乎用不到
- UUIDConverter: UUID
不过这写转换器并不能满足我们特定情况下的使用所有flask还可以自定义转换器
首先需要冲flask中导入BaseConverter, 在类中继承这个BaseConverter
from werkzeug.routing import BaseConverter
class PhoneConverter(BaseConverter):
# regex 是用来指定正则条件的
regex = r"1[3-9]\d{9}"在指定完成之后就可以将这个自定义出来的类加入到我们的flask转换器中
app.url_map.converters['转换器名'] = PhoneConverter
转换器名也就是<int:id>中的int
获取方式: phone是我的转换器名
@app.route('/stus/<phone:num>/')
def index(num):
# index中的num需要和<int:num>完全一致
print(num)
return "123"查询参数传参
比如http://localhost:5000/img?good=1
good就是一个查询参数
获取方式:
request.args.get('key')或者request.args["key"]
请求头传参
获取方式:
request.headers.get('key') 或者request.headers['key']
请求体传参
获取方式:
request.form.get('key') 或者 request.form['key']
文件获取方式:
request.files.get('key')
版权声明:本文为admin3wwwww原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。