templatetag中的动态字典名称

时间:2018-05-23 06:44:45

标签: django templatetags

我有一个模板标签来获取字典名称及其中的元素。我在dictionary.py中添加了词典,并且我在模板标签中导入了与dict相同的词典。像这样,

import property.dictionary as dict

def getlisttype(value,arg):
    return dict.value[arg]

我将字典名称作为值传递,将其中的元素作为arg传递。但我得到的是一个错误,说没有价值'在字典中。有没有办法做到这一点?

dictionary.py

list_type_dict={
1:"Sale",
2:"Rent"
}

list_category_dict={
1:"Residential",
2:"Commercial"
}
.
.
.

1 个答案:

答案 0 :(得分:2)

您可以使用__dict__,它是模块中所有属性的字典,即:

import property.dictionary

def getlisttype(value, arg):
    return property.dictionary.__dict__[value][arg]

将模块导入为dict并不是一个好主意,因为这会导致名称与内置的dict关键字冲突。