贴一下代码.这个forms.py定义的表格.不能接受中文用户注册
这是forms.py代码
# -*- coding:utf-8 -*-from django import formsimport refrom django.contrib.auth.models import Userfrom django.core.exceptions import ObjectDoesNotExistclass RegistrationForm(forms.Form): username = forms.CharField(label=u'用户名', max_length=30) email = forms.EmailField(label=u'电子邮件') password1 = forms.CharField(label=u'密码', widget=forms.PasswordInput()) password2 = forms.CharField(label=u'确认密码', widget=forms.PasswordInput()) def clean_username(self): username = self.cleaned_data['username'] if not re.search(r'^\w+$', username): raise forms.ValidationError('用户名中只能包含正常的字符') try: User.objects.get(username = username) except ObjectDoesNotExist: return username raise froms.ValidationError('用户名存在!') def clean_email(self): email = self.cleaned_data['email'] try: User.objects.get(email = email) except ObjectDoesNotExist: return email raise forms.ValidationError('用户数据库中已经有该电子邮件了') def clean_password2(self): if 'password1' in self.cleaned_data: password1 = self.cleaned_data['password1'] password2 = self.cleaned_data['password2'] if password1 == password2: return password2 raise forms.ValidationError('密码不区配')class MsgPostForm(forms.Form): title = forms.CharField(label='标题', widget=forms.TextInput(attrs={'size':30, 'max_length':30})) content = forms.CharField(label='内容', widget=forms.Textarea(attrs={'size':10000}))
def register_page(request): if request.method == 'POST': form = RegistrationForm(request.POST) if form.is_valid(): user = User.objects.create_user( username = form.cleaned_data['username'], password = form.cleaned_data['password1'], email = form.cleaned_data['email'] ) return HttpResponseRedirect('/accounts/register/success/') else: return HttpResponse('error') else: form = RegistrationForm() variables = RequestContext(request, {'form': form}) return render_to_response('registration/register.html', variables)