我有一个元组,这样
{{VISIBILITY_CHOICES.1.1}}
输出"你好"。
我有模特"任务"使用属性" visibility_status",并在循环中,假设task.visibility_status的所有迭代输出1
{{task.visibility_status}}
输出1。
如何在元组查找中使用此task.visibility_status?类似于VISIBILITY_CHOICES [task.visibility_status] [1]的另一种语言。
我对django很新...非常感谢。
编辑: 我正在运行的代码:
{% for task in tasks %}
<div class="post">
<h1><a href="">{{ task.subject }}</a></h1>
<div class="date">
<p>Due: {{ task.due_date }}</p>
<p>Assigned to: {{task.assigned_to}}</p>
</div>
<p>{{ task.text_area|linebreaks }}</p>
{% with args=""|add:task.visibility_status|add:",1" %}
<p>Visibility Status: {{VISIBILITY_CHOICES|get_index:args}}({{ task.visibility_status }})</p>
{% endwith %}
<p>Case Status: {{ task.case_status }}</p>
<div class="date">
<p>Created: {{ task.created_date }} by {{ task.author }}</p>
</div>
</div>
{% endfor %}
答案 0 :(得分:0)
虽然内置名称tuple
在模板中可能没有任何语法含义,但我会在下面的代码中使用my_tuple
。
我使用with
创建了一个上下文,用于构建索引my_tuple
的args(即task.visibility_status
和1
)::
{% with x=task.visibility_status|stringformat:"s" %}
{% with args=x|add:",1" %}
{{ my_tuple|get_index:args }}
{% endwith %}
{% endwith %}
在custom template filter中,我已经拆分并重新创建了参数,并在plain python中使用索引来返回索引处的项目:
from django import template
register = template.Library()
@register.filter
def get_index(my_tuple, args):
arg1, arg2 = args.split(',') # split on the comma separator
try:
i = int(arg1)
j = int(arg2)
return my_tuple[i][j] # same as my_tuple[task.status][1]
except:
return None