我如何在Django模板标签中使用模板上下文变量的值? [重复]

问题描述 投票:-1回答:2

这个问题在这里已有答案:

在Django中,我看过trans标签,将翻译字符串放在模板中很有用。

{% trans 'Rishikesh' %}

但我想用动态值代替我的视图函数传递的'Rishikesh'

让我假设我的名为index的视图函数如下。

def index(request):
    return render(request, "index.html", {"username": "Rishikesh"})

我的问题是,我想在我的模板中使用username的值作为trans标签的值,如下所示。

{% trans "{{username}}" %}

我认为,它应该工作,但它不起作用?

如果您知道任何相同的方法,请帮助我。

python django python-3.x django-templates django-2.0
2个回答
1
投票

尝试使用没有引号的变量,没有像这样的大括号:

{% trans username %}

1
投票

您应该在视图中进行翻译

from django.utils.translation import ugettext as _

def index(request):
    return render(request, "index.html", {"username": _("Rishikesh")})

在你的模板中只渲染变量:

{{ username }}

模板翻译仅用于静态,不要在模板中放置太多逻辑,在一段时间内很难遵循。

© www.soinside.com 2019 - 2024. All rights reserved.