我使用Flask编写Web应用程序,我想知道使用url_for
生成模板和应用程序代码中的链接的原因。
通过这样做可以获得什么:
<link rel="stylesheet" href="{{ url_for('static', filename='css/main.css') }}">
和此:
<ul>
<li><a href="{{ url_for('index') }}">Home</a></li>
<li><a href="{{ url_for('about') }}">About Us</a></li>
<li><a href="{{ url_for('contact') }}">Contact</a></li>
</ul>
而不是对路径进行硬编码?
答案 0 :(得分:6)
flask.url_for(端点,**值)
使用提供的方法生成指向给定端点的URL。
目标端点未知的变量参数是 附加到生成的URL作为查询参数。如果是a的值 查询参数为None,跳过整个对。如果是蓝图 处于活动状态,您可以快捷方式引用相同的蓝图 在本地端点前加一个点(。)。
这将引用当前蓝图的本地索引函数:
url_for(&#39;的.index&#39)
现在,您可以使用与端点进行反向匹配的url_for
,而不是指定静态URL到达端点。
当您拥有可能要在运行时指定的参数时,它尤其有用。
示例
{{ url_for('static', filename='css/main.css') }}
您可以在运行时动态计算filename='...')
。
进一步扩展,
external=True
选项启用重定向