作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Django 网站,我正试图使其国际化。图片文件都是用两个字母的语言代码编码的。因此,当用户切换语言时,对图像文件的引用将使用模板中的语言代码进行更新,如下所示:
<img src="{% static 'website/images/contact_us_{{ LANGUAGE_CODE }}.png' %}">
问题是,我还必须为静态内容的路径添加一个标签。解决这个问题的优雅方法是什么?
最佳答案
根据@MarAja 的建议,我遵循了他/她的问题和解决方案 here这几乎和我的一样。我发布了我所做的,所以无论谁登陆此页面都有解决方案。在我的研究过程中,我没有偶然发现@MarAja 的帖子。
代码是一个精确的副本,选择不使用 add
标签是因为根据 Django 文档,它试图将参数转换为 int,即不适用于字符串。
完整代码:
# Custom Template tag file named "custom_app_tags.py"
from django import template
register = template.Library()
@register.filter
def addstr(s1, s2):
return str(s1) + str(s2)
最后,用法:
{% load staticfiles %}
{% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
{% load custom_app_tags %}
<img src="{% static 'website/images/contact_us_'|addstr:LANGUAGE_CODE|addstr:'.png' %}">
请注意,我包含了所有内容,以便稍后到达这里的任何人都能全面了解正在发生的事情。
关于django - 如何在另一个标签中使用 Django 模板标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37933259/
我是一名优秀的程序员,十分优秀!