📅  最后修改于: 2021-01-02 04:25:18             🧑  作者: Mango
url_for()函数用于动态构建指向特定函数的URL。第一个参数是指定函数的名称,然后我们可以传递与URL的可变部分相对应的任意数量的关键字参数。
从可以避免通过使用此函数动态构建URL来避免将URL硬编码到模板的意义上,此函数很有用。
考虑以下Python flask脚本。
from flask import *
app = Flask(__name__)
@app.route('/admin')
def admin():
return 'admin'
@app.route('/librarion')
def librarion():
return 'librarion'
@app.route('/student')
def student():
return 'student'
@app.route('/user/')
def user(name):
if name == 'admin':
return redirect(url_for('admin'))
if name == 'librarion':
return redirect(url_for('librarion'))
if name == 'student':
return redirect(url_for('student'))
if __name__ =='__main__':
app.run(debug = True)
上面的脚本模拟了可以由三种类型的用户(即admin,librarion和Student)使用的图书馆管理系统。有一个名为user()特定函数识别用户的将用户重定向到包含此特定函数实施的确切函数。
例如,URL http:// localhost:5000 / user / admin重定向到URL http:// localhost:5000 / admin,URL localhost:5000 / user / librarion重定向到URL http:// localhost:5000 / librarion,URL http:// localhost:5000 / user / student被重定向到URL http:// localhost / student。