在网站上使用HTML创建链接时,我们通常只使用相对链接,例如/my/link
,然后在加载页面时,Web浏览器会填充root。即浏览器将该链接转换为http://example.com/my/link
。这一般来说很棒,但是我使用jinja2来呈现电子邮件正文(使用render_template
),因此HTML内容永远不会在example.com下显示,它只显示在电子邮件中应用。那么有没有办法让jinja2识别该应用所在的域名并告诉render_template
填写整个链接?
答案 0 :(得分:1)
将_external
标记设置为True
以强制生成完整的网址:
url_for(endpoint, _external=True)
请参阅flask.url_for()
documentation:
_external - 如果设置为 True ,则会生成绝对网址。服务器地址可以通过 SERVER_NAME 配置变量进行更改,默认为 localhost 。