2011-05-19 115 views
1

根据我的模型状态,我想向用户展示不同的形式。我试图弄清楚如何存储对正确表单的引用,以便我可以将其加载到我的视图中。Django - 不同形式的模型

的普通视图看起来像:

from myapp.forms import SomeForm 

def view(): 
form = SomeForm() 

然而,因为我不知道这构成了我的模型的需求,我将如何动态地导入表单类?

我尝试这样做:

from django.forms import ModelForm 
modelforms = ModelForm.__subclasses__() 

def get_modelform(model): 
    return filter(lambda x:x.Meta.model == model, modelforms)[0] 

但是,如果表单被导入到项目它仅适用。因为我住的形式在它自己的forms.py文件,这并不工作:(

+0

导入所有表单并仅使用所需表单的问题是什么? – Clash 2011-05-19 11:47:09

回答

1

在你forms.py文件,写入按照你的标准返回正确形式的函数,然后导入到你的观点,并调用它。

1

写,根据条件返回所需的窗体类的功能。