我需要在Django模板中使用动态键从字典中获取并显示值。
型号:
class StatusData(models.Model):
app= models.CharField(max_length=35)
status= models.CharField(max_length=3) //possible values - SNY,DVL,TST
class Meta:
managed = False
def __str__(self):
return self.status
查看.py
all_choices = {'SNY':'Sanity', 'DVL':'Develop', 'TST':'Testing'}
model = StatusData.objects.order_by('-app')
context = {
"choices": all_choices,
"modelData": model,
}
Django模板:
<html>
{% for model%}
<table>
<tr>
<td>{{ model.id }}</td>
<td>{{ choices.model.status }}</td> // -- problem line
</tr>
</table>
{% endfor %}
</html>
如果我硬编码任何特定的键,如{{ choices.SNY }}
-它会按预期导出值。
如何使用model.status
返回的动态键(即{{ choices.<model.status> }}
)获取值?
1条答案
按热度按时间zkure5ic1#
你不能简单的在模板中使用Python的逻辑。使用变量从dict中获取并不那么简单。你可以尝试创建一个自定义模板标签。
在应用中创建文件:“
your_project/your_app/templatetags/custom_tags.py
“(以及同一文件夹中的空“__init__.py
“):然后在模板中: