zoukankan      html  css  js  c++  java
  • Flask--路由系统

    路由系统

    • flask的路由有两种写法:

    第一种:装饰器形式(推荐)

    @app.route("/index")
    def index():
        return "ok"
    

    第二种:

    def index():
        return "ok"
    app.add_url_rule('/index','index',index)
    
    • 路由加载流程
    1.执行装饰器的route方法,返回decorator方法
    2.把视图函数当做参数传进decorator方法并执行
    3.执行add_url_rule方法
    4.将rule对象添加到map中
    5.app.url_map是map对象
    
    • 动态路由
    from flask import Flask, session
    
    app = Flask(__name__)
    
    
    @app.route("/index/<int:num>")	# 获取参数
    def index(num):		# 接收参数
        return "ok"
    
    if __name__ == '__main__':
        app.run()
    

    支持正则表达式的路由(扩展)

    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()
    
  • 相关阅读:
    chkconfig命令
    PHP中的WebService
    MySQL 中联合查询效率分析
    javascript中json对象长度
    Replace Pioneer
    c++ 调用matlab程序
    ubuntu 安装 sublime
    一些地址收藏
    学习笔记草稿
    Redis Cluster 集群使用(3)
  • 原文地址:https://www.cnblogs.com/os-linux/p/11907813.html
Copyright © 2011-2022 走看看