• Flask路由


    @app.route()

    methods:当前url地址,允许访问的请求方式

    @app.route("/info", methods=["GET", "POST"])
    def student_info():
        stu_id = int(request.args.get("id"))
        return f"{stu_id}"  # Python3.6的新特性 f"{变量名}"

    endpoint:反向生成url地址,默认为视图函数名,导入url_for

    from flask import Flask, url_for
    
    app = Flask(__name__)
    
    
    @app.route("/index",methods=["POST","GET"],endpoint="index_s")
    def index():
        return url_for("index_s")  #index
    
    if __name__ == '__main__':
        app.run(debug=True)

    strict_slashes:url地址结尾符"/"的控制,默认为True:结尾不能的"/",False:无论结尾是否有"/"均可以访问

    from flask import Flask, url_for
    
    app = Flask(__name__)
    
    #访问地址 /index
    @app.route("/index",strict_slashes=True)
    def index():
        return url_for("index_s")
    
    #访问地址:/login 或 /login/
    @app.route("/login",strict_slashes=False)
    def login():
        return '欢迎'
    
    if __name__ == '__main__':
        app.run(debug=True)

    defaults : 视图函数的参数默认值{"nid":1}

    from flask import Flask, url_for
    
    app = Flask(__name__)
    
    
    @app.route("/index", defaults={"nid": 1})
    def index(nid):
        print(nid)
        return "哈喽"
    
    
    if __name__ == '__main__':
        app.run(debug=True)

    redirect_to:url地址重定向,301永久重定向,在进入视图函数之前跳转

    from flask import Flask, url_for
    
    app = Flask(__name__)
    
    
    @app.route("/index", redirect_to="/login")
    def index(id):
        print(id)
        return "光临"
    
    
    @app.route("/login")
    def login():
        return '欢迎'
    
    
    if __name__ == '__main__':
        app.run(debug=True)

    动态路由参数

    接受文件名,返回文件

    <int:id>:只能是数字

    from flask import Flask, url_for
    
    app = Flask(__name__)
    
    @app.route("/index/<int:a>",) #访问 http://127.0.0.1:5000/index/1
    def index(a):
        print(a)  # 1
        return "光临"
    
    if __name__ == '__main__':
        app.run(debug=True)

    <string:str>:可以是数字也可以是字符串

    from flask import Flask, url_for
    
    app = Flask(__name__)
    
    
    @app.route("/index/<string:str>",)
    def index(str):
        print(str)
        return "光临"
    
    if __name__ == '__main__':
        app.run(debug=True)

    也可以不用定义类型,默认接受字符串

    from flask import Flask, url_for
    
    app = Flask(__name__)
    
    
    @app.route("/index/<name>",)
    def index(name):
        print(name)
        return "光临"
    
    if __name__ == '__main__':
        app.run(debug=True)
  • 相关阅读:
    js写入和读取cookie
    算法笔记汇总精简版
    廖雪峰Git教程3
    廖雪峰Git教程2
    廖雪峰Git教程1
    PHP fastcgi_finish_request 方法
    PHP获取远程文件的大小,通过ob_get_contents实现
    PHP 浮点型运算相关问题
    php中的func_num_args、func_get_arg与func_get_args函数
    C# ListView用法详解
  • 原文地址:https://www.cnblogs.com/wanglan/p/10559314.html
Copyright © 2020-2023  润新知