0


flask参数的传递

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')

标签: flask python

本文转载自: https://blog.csdn.net/admin3wwwww/article/details/124387084
版权归原作者 admin3wwwww 所有, 如有侵权,请联系我们删除。

“flask参数的传递”的评论:

还没有评论