我正在制作一个定制的django模板标签
基本版本:
import models
@register.filter
def intensity1(value):
return models.CHOICES_FOO[value]
它只返回model.FOO
列表的第个元素的值
但实际上我有几个不同的列表,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
中,然后通过引用键来检索它们
您可以使用
getattr
按名称获取属性:相关问题 更多 >
编程相关推荐