免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2075 | 回复: 1
打印 上一主题 下一主题

求教:关于Django用户注册程序的一个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-20 16:11 |只看该作者 |倒序浏览
代码全部来自《learning website development with django》

RegistrationForms的定义

  1. class RegistrationForm(forms.Form):
  2.      username = forms.CharField(label='Username',max_length = 30)
  3.      email = forms.EmailField(label='Email')
  4.      password1 = forms.CharField(label='Password',widget=forms.PasswordInput())
  5.      password2 = forms.CharField(label='Password(Again)',widget=forms.PasswordInput())

  6.      def clean_password2(self):
  7.          if 'password1' in self.cleaned_data:
  8.              password1 = self.cleaned_data['password1']
  9.              password2 = self.cleaned_data['password2']
  10.              if password1 == password2:
  11.                  return password2
  12.          raise forms.ValidationError('Passwords do not match')

  13.      def clean_username(self):
  14.          username = self.cleaned_data['username']
  15.          if not re.search(r'^\w+$',username):
  16.              raise forms.ValidationError('Username can only contain alphanumeric characters and the underscore.')
  17.              try:
  18.                  User.objects.get(username=username)
  19.              except ObjectDoesNotExist:
  20.                  return username
  21.              raise forms.ValidationError('Username is already taken.')

复制代码


我在python manage.py shell里实验了一下:

  1. >>> from bookmarks.forms import RegistrationForm as Form
  2. >>> user = Form({'username':'hhh','password1':'123123','password2':'123123','email':'123@123.com'})
  3. >>> user.is_valid()
  4. True
  5. >>> user.cleaned_data
  6. {'username': None, 'password1': u'123123', 'password2': u'123123', 'email': u'123@123.com'}
复制代码


我不明白为什么user的'username'字段会变成None

我屏蔽了一些代码,实验出如果调用了clean_username之后,username就会变成None,有没有谁有遇到过这种问题的,麻烦指点一下,很急,谢谢了阿!

[ 本帖最后由 zhaoxix9527 于 2009-4-20 16:13 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-04-20 21:44 |只看该作者
恩?没有人遇到过吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP