【发布时间】:2018-08-10 14:29:53
【问题描述】:
我在 django 模板中有一些项目列表,我循环遍历这个列表来构建一个我的记录表。 在其中一个字段中,我有一个字典键(从 1 到 12 的整数)。我编写了一个过滤器来更改关键整数以获得好看的名称。我想在过滤器返回之前检查当前用户语言是什么。 Django的filter/tag函数可以检查语言代码吗?
这是我在模板中的循环:
{% for field in fields_list %}
<div class="row row-eq-height">
<div class="col-padding-5"><div class="cart-tab-row">{{ forloop.counter }}</div></div>
<div class="col-padding-5"><div class="cart-tab-row">{{ field.field_name }}</div></div>
<div class="col-padding-5"><div class="cart-tab-row">{{ trans field.c_type|get_cname }}</div></div>
<div class="col-padding-5"><div class="cart-tab-row">{{ field.area|floatformat:2 }}</div></div>
<div class="col-padding-5"><div class="cart-tab-row">{{ field.price|floatformat:2 }}</div></div>
</div>
{% endfor %}
这是我的过滤功能
@register.filter
def get_cname(key):
ctype = CesTypesDict.objects.filter(id=key)[0]
return ctype.english_type_name
在普通视图中,我从请求属性访问此信息,但在过滤器中,我无权访问请求对象。
【问题讨论】:
标签: django python-3.x django-templates