2017-09-27 5 views
0

テンプレートでは、data.gradeが整数です。整数を対応するテキストにどのようにマップできますか?

2に等しい場合data.grade == 1、私は場所にしたいが、VIPが表示されている場合、私はショーNormal

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

にしたい私はそれを行うための簡潔な方法を探していますなぜなら、もし私が50の可能な値を持っていれば、if elseはあまりにも混乱していると思うからです。

答えて

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文字列のリストを返すことができます。

希望すると便利です。

関連する問題