我認爲我有兩種形式:BookingForm
和ReviewForm
。我想在我的template.html
中獨立提交和處理這些表單。我說在我的形式名稱標籤'booking'
和'review'
在template.html
Django,處理多種形式。在轉讓前引用的表格
對於預訂表格,我只是想重定向,但對於ReviewForm我想在我的數據庫中創建一個記錄。
這裏是我的views.py
if request.method == "POST":
if 'booking' in request.POST:
form = BookingForm(request.POST)
if form.is_valid():
#process the form
return redirect()
elif 'review' in request.POST:
review_form = BookingForm(request.POST)
if review_form.is_valid():
review_form.save()
return redirect()
else:
form = BookingForm()
review_form = ReviewForm()
return render(request, "template.html", context={"form": form,"review_form":review_form})
然而,出於某種原因,我得到form
和review_form
被分配之前引用的錯誤。
另一件事,因爲審查模型必須與另一個模型(稱爲它的項目)相關聯。當我致電review_form.save()
時,我想自動獲取商品數據並將我的評論與商品關聯。 我在想review_form['item']=kwargs['pk']
(不知道這是否會奏效)。我使用的是DetailView結構,頁面中有來自urls.py的參數,與該項目相關聯,在我的視圖中存儲爲item_id=kwargs['pk']
。
class Review(models.Model):
#other fields
item = models.ForeignKey(Item)
class ReviewForm(forms.ModelForm):
class Meta:
model = Review
fields = ('title','star','photo','name','email','body')
謝謝,對不起,我添加了名稱標籤來提交按鈕。如果「預訂」中並且在語句中「審覈」,或者是否有可能有1個循環,是否需要2個單獨的內容?另外,你能否建議如何處理.save()我爲下一部分討論。我的想法會起作用嗎? – Roma
我只是覺得代碼有太多的if和else語句難以閱讀 – Roma