我正在使用django的UserCreationForm來註冊用戶。除了錯誤之外,它完美地工作。我無法讓他們呈現。我不認爲模板有什麼問題,因爲我已經使用最基本的模板嘗試了這一點,並使用form.as_p和form.as_table,並且仍然是相同的註冊工作,但是如果您將2個不同的密碼放入其中,只需刷新屏幕空白,沒有錯誤。此外,我已經嘗試通過django消息發送form.errors,並且在有一個錯誤時傳遞正確的錯誤,但這種解決方案對我來說不實用。Django UserCreationForm不在模板中呈現錯誤
它不會讓我張貼模板,因爲縮進。我使用 {{form.non_field_errors}}在表單的頂部,然後{{form.email.error}}等
請幫助,如果你能:)
Form類..
class MyRegistrationForm(UserCreationForm):
email = forms.EmailField(required=True)
class Meta:
model = User
fields=('username', 'email', 'password1', 'password2')
def save(self, commit=True):
User= super(MyRegistrationForm, self).save(commit=False)
User.email = self.cleaned_data["email"]
if commit:
User.save()
return User
查看方法...
def home(request):
args = {}
args.update(csrf(request))
if request.method =='POST':
form = MyRegistrationForm(request.POST)
if form.is_valid():
##save_it = form.save(commit=False)
form.save()
messages.success(request, 'Thank you for joining!')
#return HttpResponseRedirect('thank-you')
return render_to_response('thankyou.html', locals(), context_instance=RequestContext(request))
else:
args['form'] = MyRegistrationForm()
return render_to_response('signup.html', args, context_instance=RequestContext(request))
args={}
args.update(csrf(request))
args['form'] = MyRegistrationForm()
context = RequestContext(request,
{'user': request.user})
return render_to_response('signup.html', args,
context_instance=context)
signup.html中的內容是什麼? – MaxQ