【发布时间】:2019-11-04 01:44:03
【问题描述】:
“我想在模板中显示名称而不是 ID。
我将 jinja2 和 django2.2.1 与 python3 一起使用。我想在我的模板中使用动态变量。我有一个 id 和 name 的字典,我想在我的模板视图中显示相关 ID 的名称。
name_dict = {
1 : 'name 1'
2 : 'name 2'
}
return name_dict
“在我的模板中,我有另一个对象是table_data,
现在在我看来,我想做这样的事”
table_data = object with another table data
{% for data in table_data %}
#This does not gives any error but not printing name
name_dict.data.id
#It gives an error
name_dict[data.id]
{% endfor %}
“我应该怎么做才能显示'name_dict'中的名字”
提前致谢
【问题讨论】:
-
你确定使用 Jinja2 而不是 Django 模板语言吗?
-
是的,这是我的 settings.py 'code' { 'BACKEND': 'django.template.backends.jinja2.Jinja2', 'DIRS': [os.path.join(project_root, ' apps', 'admin', 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'environment': 'apps.admin.jinja2.environment', }, }, 'code'
-
然后显示你遇到了什么错误。这是 Jinja2 中的有效代码。
-
TemplateSyntaxError at /admin/key_mapping/list 'Could not parse the rest: '[data.id]' from 'name_dict[data.id]''
-
嗯,正如我所说,这是一个 Django 模板语言错误。所以你没有使用 Jinja2。我不知道该设置在哪里,但它显然没有生效或被覆盖。
标签: django python-3.x django-templates jinja2