我将如何在 Django 模板标签中使用模板上下文变量的值? [复制]
Posted
技术标签:
【中文标题】我将如何在 Django 模板标签中使用模板上下文变量的值? [复制]【英文标题】:How will I use template context variable's value inside Django template tags? [duplicate] 【发布时间】:2018-06-05 15:19:54 【问题描述】:在 Django 中,我见过trans
标签,将翻译字符串放在模板中很有用。
% trans 'Rishikesh' %
但我想使用动态值来代替我的视图函数传递的'Rishikesh'
。
假设我的名为index
的视图函数如下。
def index(request):
return render(request, "index.html", "username": "Rishikesh")
我的问题是,我想在我的模板中使用username
的值作为trans
标记的值,如下所示。
% trans "username" %
我认为,它应该工作,但它不工作?
如果你知道有什么方法可以帮助我。
【问题讨论】:
随机加粗是怎么回事? 【参考方案1】:尝试使用不带引号和大括号的变量,如下所示:
% trans username %
【讨论】:
谢谢@Farrukh。它正在工作。【参考方案2】:您应该在您的视图中进行翻译
from django.utils.translation import ugettext as _
def index(request):
return render(request, "index.html", "username": _("Rishikesh"))
在你的模板中只是渲染变量:
username
模板翻译只针对静态,不要在模板中加入太多逻辑,过段时间会很难跟上。
【讨论】:
我想用变量值作为trans标签的值。现在我从@Farrukh 的回答中得到了解决方案。我们可以使用 % trans username % 就可以了。以上是关于我将如何在 Django 模板标签中使用模板上下文变量的值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
django 的模板标签“include”如何与 None 一起使用