在函数中动态指定变量名

2024-09-25 00:29:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在制作一个定制的django模板标签

基本版本:

import models

@register.filter
def intensity1(value):
    return models.CHOICES_FOO[value]

它只返回model.FOO列表的第个元素的值

但实际上我有几个不同的列表,models.CHOICES_BARmodels.CHOICES_BAZ

所以我想做一个更一般化的函数,将valuearg传递给它,指定引用哪个变量列表

@register.filter
def intensity2(value, arg):
    return models.arg[value]


arg = "INTENSITY_CHOICES"
print (intensity2(value, arg))

但这当然行不通。使用module 'models' has no attribute 'arg'失败

有没有办法陈述这样的事情?或者我最好将所有这些选择保存在dict中,然后通过引用键来检索它们


Tags: django版本register模板列表returnfoovalue