Python ';具有该用户名的用户已存在';不再是Django UserCreationForm了吗?
我在学习Django,遇到了一个问题 在一些Django Youtube教程中,我看到Youtube使用UserCreationForm创建注册页面,然后尝试使用该表单向观众展示该页面 有时,他们会用用户名“test1”注册一个用户,然后尝试用与“test1”相同的用户名注册一个用户,他们会收到错误消息“一个使用该用户名的用户已经存在” 然而,当我学习了这些教程后,我发现不再出现错误消息,它只是在网页中再次弹出原始的UserCreationForm 此错误消息是否已删除?我一直在浏览Django Github文件和Django文档,但是没有提到任何关于用户名错误的内容,所以。。。我想它被移除了,但我想确定一下 *编辑!我将代码添加到我的问题中,如下所示:Python ';具有该用户名的用户已存在';不再是Django UserCreationForm了吗?,python,django,Python,Django,我在学习Django,遇到了一个问题 在一些Django Youtube教程中,我看到Youtube使用UserCreationForm创建注册页面,然后尝试使用该表单向观众展示该页面 有时,他们会用用户名“test1”注册一个用户,然后尝试用与“test1”相同的用户名注册一个用户,他们会收到错误消息“一个使用该用户名的用户已经存在” 然而,当我学习了这些教程后,我发现不再出现错误消息,它只是在网页中再次弹出原始的UserCreationForm 此错误消息是否已删除?我一直在浏览Django
# views.py
from django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
from django.contrib.auth import login, logout
from django.http import HttpResponse
def signup_view(request):
if request.method == "POST":
form = UserCreationForm(request.POST)
if form.is_valid():
user = form.save()
login()
return redirect('articles:article_list')
form = UserCreationForm()
context = {'form':form}
return render(request, 'accounts/signup.html', context)
#login.html
{%extends'base.html%}
{%block content%}
{%csrf_令牌%}
{{form}}
{%endblock%}
找到了答案
当用户名已经存在时,UserCreationForm似乎不会将该错误打印为默认错误。当您尝试手动打印错误以检查数据库中是否已存在用户名时,它会起作用 您使用的是标准用户模型和用户创建页面模板,还是您自己制作的?共享完整代码!!请为您的问题添加代码。我使用的是标准用户模型!我在上面添加了代码
# login.html
{% extends 'base.html' %}
{% block content %}
<form class="site-form" action="" method="POST">
{% csrf_token %}
{{ form }}
<input type="submit" value="Login">
</form>
{% endblock %}