Flask教学课 – 8、【Flask_URL】url_for使用详情
1,url_for的作用
url_for可以将url的路径进行反转
2,为什么需要url_for
如果将来需要修改“ url”,而没有修改该URL对应的函数名,就不用贴换url了。相当于直接修改url的内容,只要不修改视图函数的名称即可通过url_for自动查找到
“ url_for”会自动处理特殊的字符,不需要手动处理
此方法小项目可不适用,但是中大型项目推荐使用,因为综合来看:
3,url_for的使用方法
先上代码
# 导入url_for
from flask import Flask, url_for
app = Flask(__name__)
@app.route('/')
def hello_world():
print(url_for('b7'))
return 'Hello World!'
@app.route('/6b7')
def b7():
return 'Hello 6b7~'
我们在hello_world()函数里面打印了url_for的内容,url_for中的值是你想要获取的视图函数名称的字符串,我们来看运行结果
除了我们写死的路径之外,还有我们上一篇讲到的路径传值的网址,通过下面的演示代码,来看看我们的使用方式,代码如下
@app.route('/')
def hello_world():
print(url_for('id', id=5))
return 'Hello World!'
@app.route('/p/<path:id>')
def id(id):
return '请求的书是第' + id + '本'
因为视图函数id()是需要预期参数的,所以我们在使用url_for的时候也需要给它放置参数才行。运行结果如下
还有一种情况就是,我们的视图函数只需要一个传参,我们向它设定两个参数,代码和运行结果如下
@app.route('/')
def hello_world():
print(url_for('id', id=5, num=10))
return 'Hello World!'
@app.route('/p/<path:id>')
def id(id):
return '请求的书是第' + id + '本'
此时我们的Flask会将会面多余的传参以查询字符串的方式拼接在后面
阅读剩余
版权声明:
作者:Nuanxinqing
链接:https://6b7.org/241.html
文章版权归作者所有,未经允许请勿转载。
THE END