[英]Redirection to the current page Django
我正在嘗試在Django中創建一個登錄表單,但找不到解決此類錯誤的方法。 我有一個表單和帶有重定向返回的視圖,但是問題是即使我定義了重定向路徑,該表單也將我重定向到當前頁面。 也許您有一些想法? 我試圖用谷歌搜索,但沒有成功。 這是我的views.py:
def login(request):
if request.POST.get('submit') == 'sign_in':
form = login_form(data=request.POST)
pdb.set_trace()
return redirect('/account')
#if form.is_valid():
# return HttpResponseRedirect('/account')
elif request.POST.get('submit') == 'sign_up':
form = register_form(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/account')
else:
sign_in = login_form()
sign_up = register_form()
return render(request, 'login.html', {'login_form':sign_in, 'signup_form': sign_up})
def account(request):
return HttpResponse('Account')
和我的login.html:
<div class="form-holder">
<form class="login-form" method="post" style="display: block;">
{% csrf_token %}
{{ login_form }}
<!--{% for field in login_form %}-->
<!--<div class="form-group">-->
<!--{{ login_form.errors }}-->
<!--{{ login_form.label_tag }}-->
<!--<br>-->
<!--<!–{{ field }}–>-->
<!--<input class="form-control" id="{{ field.id_for_label }}"-->
<!--placeholder="Enter {{ field.html_name }}" name="{{ field.html_name }}" >-->
<!--{% if field.help_text %}-->
<!--<p class="help">{{ field.help_text|safe }}</p>-->
<!--{% endif %}-->
<!--</div>-->
<!--{% endfor %}-->
<!--<div class="form-group">-->
<!--<label for="email">Email:</label>-->
<!--<input type="email" class="form-control" id="email" placeholder="Enter email" name="email">-->
<!--</div>-->
<!--<div class="form-group">-->
<!--<label for="pwd">Password:</label>-->
<!--<input type="password" class="form-control" id="pwd" placeholder="Enter password" name="pwd">-->
<!--</div>-->
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<button type="submit" value="sign_in" class="btn btn-lg btn-primary">Login</button>
</div>
</div>
</form>
謝謝!
問題是我沒有檢查表單的“操作”屬性。 因此, <form class="login-form" method="post" action="/account" style="display: block;">
對我有用,我的視圖正確地重定向了/account
頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.