这是我的博客:http://gorani-dncvb.run.goorm.io/
我正试图为我的django博客建立一个注册页面
我完成了模板/视图/表单/url的代码编写,并成功连接到页面:http://gorani-dncvb.run.goorm.io/accounts/signup
所以我开始认为模板/url没有问题。但问题出现在尝试注册后,它说:
IntegrityError at /accounts/signup
UNIQUE constraint failed: auth_user.username
这是我的视图代码:
def signup(request):
if request.method == "POST":
form = SignupForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
raw_password = form.cleaned_data.get('password')
user = User.objects.create_user(username=username, password=raw_password)
return redirect("post_list")
else:
form = SignupForm()
return render(request, 'registration/signup.html', {'form':form})
这是表格代码:
class SignupForm(forms.ModelForm):
class Meta:
model = User
fields = ('username','password',)
(我不是故意使用UserCreateForm的)
肯定没有重叠的另一个用户,所以为什么我看到这个错误消息
复制用户的原因是django在保存表单时创建了用户。 当表单是ModelForm的子级时,保存它将创建与表单相关的模型类的新对象
只需删除或注释用于用户创建的代码行,即可正常工作:
致以最良好的祝愿
相关问题 更多 >
编程相关推荐