我想为继承自的所有规范生成一个选择列表 imagekit.specs.ImageSpec
imagekit.specs.ImageSpec
其想法是允许管理员界面的用户选择要添加到图片中的ImageSpec。
即:
class Display(ImageSpec): pre_cache = True increment_count = True processors = [ResizeDisplay,] class SingleDisplay(ImageSpec): pre_cache = True increment_count = True processors = [SingleDisplayResize] class Reflection(ImageSpec): increment_count = True processors = [ResizeDisplay, ReflectionProcessor] class SingleDisplayReflection(ImageSpec): increment_count = True processors = [SingleDisplayResize, ReflectionProcessor]
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)]
然后,您可以从 __name__ subclasses 列表
__name__
subclasses