flask路由系统

Posted daviddd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask路由系统相关的知识,希望对你有一定的参考价值。

路由系统

  • 路由的两种写法

    def index():
        return render_template('index.html')
    app.add_url_rule('/index', 'index', index)
    
    
    # 公司里一般用这种方式
    @app.route('/login')
    def login():
        return render_template('login.html')
  • 路由加载的源码流程

    - 将url和函数打包成为 rule 对象
    - 将rule对象添加到map对象中。
    - app.url_map = map对象
  • 动态路由

    @app.route('/login')
    def login():
        return render_template('login.html')
    
    @app.route('/login/<name>')
    def login(name):
      print(type(name))
        return render_template('login.html')
    
    @app.route('/login/<int:name>')
    def login(name):
      print(type(name))
        return render_template('login.html')
  • 支持正则表达式的路由

    from flask import Flask,render_template
    
    app = Flask(__name__)
    
    
    from werkzeug.routing import BaseConverter
    class RegConverter(BaseConverter):
        def __init__(self, map, regex):
            super().__init__(map)
            self.regex = regex
    app.url_map.converters['regex'] = RegConverter
    
    @app.route('/index/<regex("d+"):x1>')
    def index(x1):
        return render_template('index.html')
    
    if __name__ == '__main__':
        app.run()

以上是关于flask路由系统的主要内容,如果未能解决你的问题,请参考以下文章

Flask最强攻略 - 跟DragonFire学Flask - 第七篇 Flask 中路由系统

Flask--路由系统

源码解析flask的路由系统

flask路由规划蓝图和route

Flask路由系统 񎢺

Flask路由系统 򃗾