这个问题在这里已有答案:
在Django中,我看过trans
标签,将翻译字符串放在模板中很有用。
{% trans 'Rishikesh' %}
但我想用动态值代替我的视图函数传递的'Rishikesh'
。
让我假设我的名为index
的视图函数如下。
def index(request):
return render(request, "index.html", {"username": "Rishikesh"})
我的问题是,我想在我的模板中使用username
的值作为trans
标签的值,如下所示。
{% trans "{{username}}" %}
我认为,它应该工作,但它不起作用?
如果您知道任何相同的方法,请帮助我。
尝试使用没有引号的变量,没有像这样的大括号:
{% trans username %}
您应该在视图中进行翻译
from django.utils.translation import ugettext as _
def index(request):
return render(request, "index.html", {"username": _("Rishikesh")})
在你的模板中只渲染变量:
{{ username }}
模板翻译仅用于静态,不要在模板中放置太多逻辑,在一段时间内很难遵循。