[英]How can I tell which of the two forms is submitted in Django?
我的log_in
有一個log_in
和sign_up
表單。 默認情況下, log_in
設置為顯示,並且當用戶單擊“ 注冊”按鈕時,可以查看sign_up
。 這兩個切換取決於用戶單擊的按鈕。
from django import forms
class LogInForm(forms.Form):
pass
class SignUpForm(forms.Form):
pass
兩種形式都調用相同的view- index_view()
。
另一種方法是將GET參數添加到url並在視圖中檢查它:
<form action="{% url index %}?action=login">
並認為
def index_view(request):
action = request.GET.get('action', '')
if action == 'login':
...
您在這個地方找錯了。 除非您在POST中提供一些信息,否則Django無法確定提交的表單。 最佳方法是在“提交”按鈕中,您可以為該按鈕指定名稱和值,使其與其他任何表單元素一樣。
<form action="." method="POST">
{{ login_form.as_p }}
<input type="submit" name="login" value="login">
</form>
<form action="." method="POST">
{{ signup_form.as_p }}
<input type="submit" name="signup" value="signup">
</form>
在視圖中,您所需要做的就是檢查POST中的輸入:
if 'login' in request.POST:
# do something with login_form
else:
# do something with signup_form
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.