-1

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

{% trans 'Rishikesh' %}

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

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

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

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

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

我想,它应该工作,但它不工作?

如果您知道任何方法可以做到这一点,请帮助我。

4

2 回答 2

1

尝试使用不带引号和大括号的变量,如下所示:

{% trans username %}
于 2017-12-23T07:22:49.443 回答
1

你应该在你看来做翻译

from django.utils.translation import ugettext as _

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

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

{{ username }}

模板翻译只针对静态,不要在模板中加入太多逻辑,过段时间会很难跟上。

于 2017-12-23T07:32:08.600 回答