我想在django中做一个python模块的动态导入。我有我想从导入两个不同的应用程序,我想替换这些导入语句:Django - 动态导入
from app1.forms import App1ProfileForm
from app2.forms import App2ProfileForm
我动态能够创建字符串App1ProfileForm和App2ProfileForm然后实例他们像这样:
globals()[form]()
我尝试以下一些在这篇文章的说明:Dynamically import class by name for static access
,所以我试着这样做:
theModule = __import__("app1.forms.App1ProfileForm")
,但我发现,说没有名为App1ProfileForm
编辑::: 好,我想这代码模块的错误:
theModule = __import__("app1")
print theModule
theClass = getattr(theModule,'forms')
print theClass
theForm = getattr(theClass,'App1ProfileForm')
print theForm
theForm.initialize()
,但我得到一个错误的对象类型“App1ProfileForm”没有属性“初始化”
`theForm`是一类。我想你想实例化它,而不是使用它。尝试类似`theForm()。initialize()`。 – pkoch 2011-02-09 01:57:05