Python 如何从所有ImageSpec生成选择列表

Python 如何从所有ImageSpec生成选择列表,python,django,imagekit,django-imagekit,Python,Django,Imagekit,Django Imagekit,我想为继承自imagekit.specs.ImageSpec的所有规范生成一个选项列表 其想法是允许管理员界面的用户选择要添加到图片中的ImageSpec i、 e: 结果是一个下拉列表“Display,Singledisplay,Reflection,Singledisplayreflection”好的,下面类似的内容将为您提供文件中定义的所有ImageSpec子类的列表: def subclassfilter(x, baseclass): return x is not basecl

我想为继承自
imagekit.specs.ImageSpec
的所有规范生成一个选项列表

其想法是允许管理员界面的用户选择要添加到图片中的ImageSpec

i、 e:


结果是一个下拉列表“Display,Singledisplay,Reflection,Singledisplayreflection”

好的,下面类似的内容将为您提供文件中定义的所有ImageSpec子类的列表:

def subclassfilter(x, baseclass):
    return x is not baseclass and isinstance(x, type) and issubclass(x, baseclass)

subclasses = [c for c in locals().values() if subclassfilter(c, ImageSpec)]

然后,您可以从
子类
列表中每个类的
\uuu name\uuuuu
属性生成选项列表。

我再次想到了复杂的:D谢谢!
def subclassfilter(x, baseclass):
    return x is not baseclass and isinstance(x, type) and issubclass(x, baseclass)

subclasses = [c for c in locals().values() if subclassfilter(c, ImageSpec)]