我正在尝试在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>
谢谢!
答案 0 :(得分:0)
问题是我没有检查表单的“操作”属性。因此,<form class="login-form" method="post" action="/account" style="display: block;">
为我工作,我的视图正确地重定向了/account
页面。