我有一个简单的登录表单和注册表单,在错误验证时不会抛出任何错误,以下是相应的代码:
def signup_view(request):
if request.method == 'POST':
signup_form = UserRegistrationForm(request.POST)
if signup_form.is_valid():
signup_form.save()
username = signup_form.cleaned_data.get('username')
messages.success(request, f'Thank you for using our website.')
return redirect('user:login')
signup_form = UserRegistrationForm()
context = {
'form':signup_form
}
return render(request, 'users/signup.html', context)
def login_view(request):
if request.method == 'POST':
login_form = AuthenticationForm(request, request.POST)
if login_form.is_valid():
username = login_form.cleaned_data.get('username')
user = authenticate(username=username, password=login_form.cleaned_data.get('password'))
if user is not None:
login(request, user)
messages.success(request, f'Successfully logged in as <strong> {username} </strong> ')
return redirect('blog:blogs')
login_form = AuthenticationForm()
context = {
'form': login_form
}
return render(request, 'users/login.html', context)
这是登录表单,看起来与注册表单相同:
<form action="." method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form|crispy }}
<input type="submit" value="Login" class="btn btn-warning btn-block">
<hr>
<small class='text-secondary'>Don't have an account? <a href="{% url 'user:signup' %}">Sign up</a> </small> <br>
<small class='text-secondary'>Forgot password? <a href="{% url 'password_reset' %}">Reset</a></small>
</form>
这两个表单工作正常,它可以创建一个新用户并登录该用户,但如果我犯了任何错误,它不会抛出或显示该错误,为什么
先谢谢你
因为您返回的空白表单存在错误
试试这个
希望能有帮助
相关问题 更多 >
编程相关推荐