移除Flask Jinja模板中Babel代码后的正确改写方式咨询
移除Babel翻译功能后的代码改写方案
原代码通过Babel的_()翻译函数实现多语言文本拼接,若无需翻译功能,只需保留用户链接的变量定义部分,直接替换翻译相关代码即可,无需使用错误的模板变量赋值语法。
正确改写后的代码:
{% set user_link %} <span class="user_popup"> <a href="{{ url_for('main.user', username=post.author.username) }}"> {{ post.author.username }} </a> </span> {% endset %} {{ user_link|safe }} said {{ moment(post.timestamp).fromNow() }}
关键说明:
- 保留
{% set user_link %}块:这部分用于生成带弹窗效果的用户链接,和翻译功能无关,可直接保留。 - 使用
{{ user_link|safe }}:由于user_link包含HTML标签,需用safe过滤器告知Jinja2不要转义这些标签,避免<、>等符号被显示为纯文本。 - 直接拼接内容:去掉翻译函数后,按顺序输出用户链接、固定文本
said和时间结果即可,无需复杂的变量赋值语法。
内容的提问来源于stack exchange,提问作者Jimmy
相关产品推荐
相关产品推荐

