- url_for:
一般我们通过一个URL就可以执行到某一个函数。如果反过来,我们知道一个函数,怎么去获得这个URL呢?url_for函数就可以帮我们实现这个功能。url_for()函数接收两个及以上的参数,他接收函数名作为第一个参数,接收对应URL规则的命名参数,如果还出现其他的参数,则会添加到URL的后面作为查询参数。
将来如果修改了URL,但没有修改该URL对应的函数名,就不用到处去替换URL了。
url_for()函数会转义一些特殊字符和unicode字符串,这些事情url_for会自动的帮我们搞定
from flask import Flask,url_for
# 已知路由访问函数
# 实例化app
app = Flask(__name__)
@app.route('/')
def hello_world():
print(url_for('article_list',aid=1,page=1,name=1))
# 添加参数用&连接
return 'hello world'
# url_for 通过一个页面跳转到另一个页面 通过url_for 获取网页的url
@app.route('/article/<aid>')
def article_list(aid):
print(url_for('hello_world',next='/'))
return 'articleList {}'.format(aid)
if __name__ == '__main__':
app.run(debug=True)
运行结果:
127.0.0.1 - - [14/Oct/2020 10:58:03] "GET / HTTP/1.1" 200 -
/article/1?page=1&name=1
127.0.0.1 - - [14/Oct/2020 10:58:15] "GET /article/1 HTTP/1.1" 200 -
/?next=%2F