我想在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