码迷,mamicode.com
首页 > 其他好文 > 详细

flask路由系统

时间:2019-11-22 19:05:04      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:init   convert   index   python   elf   template   class   pre   routing   

路由系统

  • 路由的两种写法

    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路由系统

标签:init   convert   index   python   elf   template   class   pre   routing   

原文地址:https://www.cnblogs.com/daviddd/p/11913327.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!