【发布时间】:2011-05-19 11:38:18
【问题描述】:
根据我的模型状态,我想向用户显示不同的表单。我试图弄清楚如何存储对正确表单的引用,以便将其加载到我的视图中。
普通视图如下所示:
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 文件中,因此这不起作用:(
【问题讨论】:
-
导入所有表单并仅使用您需要的表单有什么问题?
标签: django django-models django-forms