zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    C语言指针
    Windows环境下 PHP+Apache+Mysql配置
    游戏贴图中常用术语《DC》的理解
    C# winform程序如何打包64位安装程序
    C# winform中的datagridview控件标头加入checkbox,实现全选功能。
    C# WinForm控件之Dock顺序调整
    关于struts2.0 中 struts.xml设置了struts.devMode 的值为TRUE后仍然不起作用的分析
    Java Web项目 配置 ueditor心得
    关于VS中文件属性的解释
    使用Ueditor的心得。
  • 原文地址:https://www.cnblogs.com/wanglan/p/10559314.html
Copyright © 2011-2022 走看看