标签:
由于在Django中自带auth_user这张表,所以实现注册用户的话就不用自己写model ,直接将用户信息注册进auth_user里面。
定义注册表单类型
class RegisterForm(forms.Form): username = forms.CharField(label=‘用户名:‘,max_length=30) password = forms.CharField(label=‘密码:‘,widget=forms.PasswordInput()) password2= forms.CharField(label=‘再次输入:‘,widget=forms.PasswordInput()) def pwd_validate(self,p1,p2): return p1 == p2
这里定义的pwd_validate函数是判断用户两次输入密码是否相同。
Views
@csrf_exemptdef register(request): errors = [] if request.method == ‘POST‘: form = RegisterForm(request.POST) if form.is_valid(): data = form.cleaned_data username = data[‘username‘] password = data[‘password‘] password2 = data[‘password2‘] if not User.objects.all().filter(username=username): if form.pwd_validate(password,password2): user = User.objects.create_user(username=form.data[‘username‘],password=form.data[‘password‘]) user.is_staff = True user.save() return render_to_response(‘success.html‘,{‘username‘:username},RequestContext(request)) else: errors.append(‘温馨提示:两次密码不相同请重新输入!‘) else: errors.append(‘温馨提示:用户名已存在,请选取其他名称!‘) else: form = RegisterForm() return render_to_response(‘register.html‘,{‘form‘:form,‘errors‘:errors},RequestContext(request))
使用Django实现用户注册
原文地址:http://www.cnblogs.com/pylab/p/4293174.html