(六)URL与端点(url_for函数)

程序中的URL都是以硬编码的方式写出,那么将会大大降低代码的易用性。当你修改了某个路由的URL规则,那么程序里对应的URL都要一个一个进行修改。

1.Flask提供的url_for()函数获取URL

当路由中定义的URL规则被修改时,这个函数会返回正确的URL。

调用url_for()函数时,第一个参数为端点(endpoint)值。端点的默认值为视图函数的名称

 

2.如果URL含有变量

@app.route(/greet/<name>)
def greet(name):
    print(url_for(greet,name=name,_external=True))
    return <h1>Hello, %s!</h1> % name

使用url_for(‘greet‘,name=name)得到的URL为“/hello/<name>”。

 

3.获取绝对URL

使用url_for()函数生成的URL是相对URL(即内部URL),相对URL只能在程序内部使用。想要生成供外部使用的绝对URL,可以在使用url_for()函数时,将_external参数设为True

url_for(greet,name=name,_external=True)

(六)URL与端点(url_for函数)

上一篇:CI/CD探索与实践 (一 、Gitlab+Kubernetes)


下一篇:Apache Shiro简介