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)
  • 相关阅读:
    Python随笔,day1
    利用php抓取蜘蛛爬虫痕迹的示例代码
    explain(执行计划)工具使用
    MyISAM和 InnoDB中索引的数据结构
    页面静态化技术(真静态和伪静态的实现)
    关于MySQL字符集和校对集问题
    客户端禁用cookie后session的解决方法
    解决Ajax中的缓存问题
    MySQL中列类型的选择需要注意的问题
    MySQL中索引的分类和基本操作
  • 原文地址:https://www.cnblogs.com/wanglan/p/10559314.html
Copyright © 2011-2022 走看看