在模板中,有一个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个可能的值。
答案 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
字符串列表返回到要呈现的页面。
希望这有帮助!