我正在尝试修改django中的UserRegistationFrom以使每个电子邮件地址独立
我是django的有点菜鸟。因此,通过遵循教程和stuakoverflow问题,我写了这个用于检查电子邮件是否存在
顺便说一句,我在视图中写了一切用于测试from django.http import HttpResponse
from django.shortcuts import render
from django.contrib.auth.models import User
from django import forms
from django.contrib.auth.forms import UserCreationForm
class Signup(UserCreationForm):
email = forms.EmailField(required=True)
def clean_email(self):
email = self.cleaned_data['email']
try:
user = User.objects.get(email=email)
except User.DoesNotExist:
return email
raise forms.ValidationError("You have forgotten about Fred!")
def index(request):
if request.method == "POST":
signup = Signup(request.POST)
if signup.is_valid():
return HttpResponse("All is well")
else:
return render(request,'website/index.html',{'form':Signup})
return render(request,'website/index.html',{'form':Signup()})
def private(request):
return HttpResponse("Ok")
和, 我收到此错误
ValidationError at /
[u'Error']
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 1.5.4
Exception Type: ValidationError
Exception Value:
[u'Error']
为什么我出现此错误?以及如何解决它?
答案 0 :(得分:0)
所以正确的代码
from django.http import HttpResponse
from django.shortcuts import render
from django.contrib.auth.models import User
from django import forms
from django.contrib.auth.forms import UserCreationForm
class Signup(UserCreationForm):
email = forms.EmailField(required=True)
def clean_email(self):
email = self.cleaned_data['email']
try:
u = User.objects.get(email=email)
except User.DoesNotExist:
return email
raise forms.ValidationError("Error")
def index(request):
if request.method == "POST":
signup = Signup(request.POST)
if signup.is_valid():
return HttpResponse("All is well")
else:
return render(request,'website/index.html',{'form':signup})
return render(request,'website/index.html',{'form':Signup()})
感谢谁试图帮助我