模板标签中的动态字典名称

Dynamic dictionary name in templatetag

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

import property.dictionary as dict

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

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

dictionary.py

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

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

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

import property.dictionary

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

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