flask框架的参数,不对,确切地说应该是大多数框架的参数传递都是这几种:
路由传参
请求头传参
请求体传参
所以我们必须知道
路由传参:
指定参数:
比如说 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 所有, 如有侵权,请联系我们删除。