我在一個模板中有兩種完全不同的形式。如何在一個視圖中處理它們?我如何區分哪些表單已提交?我怎樣才能使用前綴來實現這一點?或者,寫一些單獨的視圖更好?
問候
CHRISS如何在一個視圖中處理兩個表單?
5
A
回答
5
就個人而言,我會使用一個視圖來處理各種形式的POST。
在另一方面,你可以使用指示哪些形式使用
<form action="/blog/" method="POST">
{{ blog_form.as_p }}
<input type="hidden" name="form-type" value"blog-form" /> <!-- set type -->
<input type="submit" value="Submit" />
</form>
...
<form action="/blog/" method="POST">
{{ micro_form.as_p }}
<input type="hidden" name="form-type" value"micro-form" /> <!-- set type -->
<input type="submit" value="Submit" />
</form>
有了這樣一個視圖中隱藏輸入元素:
def blog(request):
if request.method == 'POST':
if request.POST['form-type'] == u"blog-form": # test the form type
form = BlogForm(request.POST)
...
else:
form = MicroForm(request.POST)
...
return render_to_response('blog.html', {
'blog_form': BlogForm(),
'micro_form': MicroForm(),
})
...但再一次,我想每個表單一個視圖(即使視圖只接受POST)比嘗試執行上述操作更簡單。
0
如果兩種形式完全不同,那麼通過兩種不同的觀點來處理它們肯定不會有什麼壞處。否則,您可能會使用'隱藏輸入元素'技巧zacherates已觸及。或者,您始終可以爲每個元素分配一個唯一的名稱,並在視圖中區分表單是基於此提交的。
4
像阿亞茲說,你應該給唯一的名稱,形成提交按鈕
<form action="." method="post">
......
<input type="submit" name="form1">
</form>
<form action="." method="post">
......
<input type="submit" name="form2">
</form>
#view
if "form1" in request.POST:
...
if "form2" in request.POST:
...
相關問題
- 1. 如何處理兩個列表視圖在一個活動?
- 2. 如何在一個xib中處理兩個地圖視圖?
- 3. 如何在一個視圖中分離兩個驗證表單?
- 4. 如何處理在一個視圖
- 5. 在一個視圖上處理多個表單操作?
- 6. 兩個視圖,一個模型 - 如何處理兩個提取錯誤?
- 7. 如何處理兩個容器視圖內的兩個集合視圖
- 8. 如何在一個ConstraintLayout中處理多個視圖
- 9. 如何使用Stripes在一個動作bean中處理兩個表單
- 10. 列出兩個表在單個視圖
- 11. MVC處理多個LINQ查詢在一個單一的視圖
- 12. Kendo UI Mobile MVVM - 如何處理導航到單個詳細視圖的兩個列表視圖?
- 13. 如何在spring/hibernate中處理單個表單的兩個數據庫插入?
- 14. 如何在ExpandableListView的子視圖上處理兩個ImageButtons
- 15. 在一個視圖控制器中的兩個表視圖swift
- 16. 在一個視圖控制器中的兩個表視圖swift
- 17. 在兩個透視圖中添加一個視圖,在兩個透視圖中都可見一個透視圖
- 18. Django在基於類的視圖中處理多個表單
- 19. 如何在單個View中加入兩個視圖在sql中?
- 20. 在一個頁面中處理兩種不同的表單
- 21. 在一個視圖中處理Django中的兩個表單時發生的問題
- 22. Django管理表單 - 如何在一個表單中水平顯示兩個「fieldset」?
- 23. 如何在一個UIViewController中處理很多視圖
- 24. 在列表視圖中兩個可單擊的圖像視圖
- 25. 如何在單個模板中處理多個表單
- 26. 如何在django的一個視圖中使用多個表單
- 27. Yii Framework如何在一個視圖中使用多個表單
- 28. 在一個視圖中處理多個CALayer的繪圖
- 29. 在一個PHP表單中處理兩個或多個select元素
- 30. 處理一個NVD3圖表