0
私はカスタムのdjangoテンプレートタグを作成しています。関数内で変数名を動的に指定する
初歩的なバージョン:
import models
@register.filter
def intensity1(value):
return models.CHOICES_FOO[value]
だから、私は思っ
をそれはちょうどmodel.FOO
リスト
のvalue'th要素を返します。しかし、私は実際には、いくつかの異なるリストを持って、models.CHOICES_BAR
、models.CHOICES_BAZ
より一般化された関数を作成し、参照する変数リストを指定するvalue
とarg
を渡します。
@register.filter
def intensity2(value, arg):
return models.arg[value]
arg = "INTENSITY_CHOICES"
print (intensity2(value, arg))
もちろん、これは機能しません。失敗するとmodule 'models' has no attribute 'arg'
何かそのようなことを述べる方法はありますか?またはこれらの選択肢をすべてdict
に保存しておき、そのキーを参照して検索する方が良いでしょうか?
'選択肢のdict'は、私は行くだろうか、おそらくですが、これは名前でアイテムにアクセスする一般的な問題を解決する方法です。 –