• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

flask----路由系统

武飞扬头像
淘淘桃
帮助1

  1.  
    # 1 flask路由系统是基于装饰器的:参数如下
  2.  
    # 2 转换器:
  3.  
    # 3 路由系统本质
  4.  
    # 4 endpoint 不传会怎么样,不传会以视图函数的名字作为值,但是如果加了装饰器,所有视图函数名字都是inner,就会出错,使用wrapper装饰器再装饰装饰器

1  flask路由系统是基于装饰器的:参数如下

  1.  
    rule:路径
  2.  
    methods :请求方式,列表
  3.  
    endpoint: 路径别名

2 转换器:

  1.  
    ''' 常用 :string int path
  2.  
    'default': UnicodeConverter,
  3.  
    'string': UnicodeConverter,
  4.  
    'any': AnyConverter,
  5.  
    'path': PathConverter,
  6.  
    'int': IntegerConverter,
  7.  
    'float': FloatConverter,
  8.  
    'uuid': UUIDConverter,
  9.  
    '''

3 路由系统本质-->读源码

  1.  
    def decorator(f: T_route) -> T_route:
  2.  
    endpoint = options.pop("endpoint", None) #从options弹出,如果没有,就是None ---》@app.route(传了就有,不传就是None)
  3.  
    self.add_url_rule(rule, endpoint, f, **options)
  4.  
    return f # f 就是视图函数,没有对视图函数做事情,只是在执行视图函数之前,加了点操作
  5.  
     
  6.  
     
  7.  
    核心:self.add_url_rule(rule, endpoint, f, **options)---》self就是app对象
  8.  
    app.add_url_rule('路由地址', '路由别名', 视图函数, **options)--->跟django很像
  9.  
     
  10.  
    add_url_rule的参数详解
  11.  
    rule, URL规则,路径地址
  12.  
    view_func, 视图函数名称
  13.  
    defaults = None, 默认值, 当URL中无参数,函数需要参数时,使用defaults = {'k': 'v'}
  14.  
    为函数提供参数
  15.  
    endpoint = None, 名称,用于反向生成URL,即: url_for('名称')
  16.  
    methods = None, 允许的请求方式,如:["GET", "POST"]
  17.  
    #对URL最后的 / 符号是否严格要求
  18.  
    strict_slashes = None
  19.  
    #重定向到指定地址
  20.  
    redirect_to = None,
学新通

4 endpoint 不传会怎么样,不传会以视图函数的名字作为值,但是如果加了装饰器,所有视图函数名字都是inner,就会出错,使用wrapper装饰器再装饰装饰器

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfhjgb
系列文章
更多 icon
同类精品
更多 icon
继续加载