Flask路由
Posted wanglan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
以上是关于Flask路由的主要内容,如果未能解决你的问题,请参考以下文章