2011-05-19 76 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

寫,根據條件返回所需的窗體類的功能。