如何将整数映射到相应的文本?

时间:2017-09-27 10:24:02

标签: django django-templates

在模板中,有一个data.grade是整数。

如果data.grade == 1,我想要显示VIP的地方,如果等于2,我想要显示Normal

{{ data.grade }} # there only shows 1 or 2, but I want to shows VIP or Normal

我正在寻找一种简洁的方法来做到这一点,因为我觉得if else在这里太杂乱,如果我有50个可能的值。

1 个答案:

答案 0 :(得分:0)

罗伯特建议的方法可行,但正如您所说,您有50多个值,if-elif方法会减慢页面的渲染速度。在渲染之前,最好在views.py中计算映射。你能做的就是:

list_of_possible_values = ['VIP','Normal','lorem','ipsum']
#The list above can be as long as you want it to be
data_object = 'Query your data object here'
value_to_display = list_of_possible_values[data_object.grade-1]
return render('your_html_file',{'value_to_display':value_to_display}

我正在查找基于索引号从列表中显示的值。如果您希望呈现多个data对象,可以在循环中添加上面的代码,并将value_to_display字符串列表返回到要呈现的页面。

希望这有帮助!