我正在嘗試構建向DataBase填充數據的嚮導。 我嘗試session.Wizard成功加上我不認爲這是什麼需要。 糾正我,如果我錯了。FormView CBV根據請求更改ModelForm
所以基本上我的數據庫有一些需要填充的表格, 由於需要完成關節,我想成爲一個很好的嚮導,它會帶你一路走來。
所以我有一個基本模板,它將有步驟,有時如果存在所有準備就不需要創建新數據。 所以我已經在模板上顯示了每個表格,因此用戶可以檢查表格是否包含他需要的下一步或他需要創建它。
我做了一個CBV FormView控件 ,我想從GET步驟和加載所需的ModelForm
model.py
Class A(models.Model):
user = CharField()
class B(models.Model):
pupy = CahrField()
form.py
AForm(forms.ModelForm):
class Meta:
model=A
fields = ['user']
BForm(forms.ModelForm):
class Meta:
model=B
fields = ['pupy']
意見.py
class Wizard(FormView)
template_name = 'test.html'
def get(self, request, *args, **kwargs):
self.step = self.request.GET.get('step')
self.form_class = FORM[self.step] # FORM = dict {'step': ModelForm}
def form_valid(self, form):
self.object = form.save(commit=False)
self.object.save()
我不能在這裏輸入所有我已經嘗試過的,到目前爲止,基本上我 確實讓我的表格通過叮噹響的鏈接 ,但我有一個truble節省他們,我已經設法保存第一種形式 如果II做
def __init__
self.step = 'first_step'
只是作爲一個測試
但平淡的想法對我來說是很好的解決方案 –