Django学习系列之用户注册

简介:

在上篇文章的基础上,做些小小的改动.

forms.py

class RegisterForm(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput(attrs={'id':'pass'}))
    sex = forms.ChoiceField(widget=forms.RadioSelect,choices=SEX_CHOICES)
    birthday = forms.DateField(required=False,widget=SelectDateWidget(years=BIRTH_YEAR_CHOICES))
    phone = forms.CharField(required=False,validators=[validate_phone])

    class Meta:
        model = Register
        #fields = ['nickname','username','password','phone'] 
        fields = '__all__'

    def clean(self):
        cleaned_data=super(RegisterForm,self).clean()
        nick_name=cleaned_data.get('nickname')
        username = cleaned_data.get('username')
        password = cleaned_data.get('password')
        email = cleaned_data.get('email')
        db_email = Register.objects.filter(email=email)

        .....


       if email in [email.email for email in db_email]:
            self._errors['email'] = self.error_class([u"邮箱已经存在,请换一个!"])
        return cleaned_data

views.py

def register(request):
    sn="TC"+datetime.datetime.now().strftime("%Y%m%d%H%M%S")
    if request.method == 'POST':
         regform = RegisterForm(request.POST,auto_id="%s",error_class=DivErrorList)
         if regform.is_valid():
             username = regform.cleaned_data['username']
             user=regform.save(commit=False)
             user.sn = sn
             user.save()
             return HttpResponseRedirect("/success/%s/" %username)
    else:
         regform = RegisterForm(auto_id="%s",label_suffix=":") #auto_id有3种设置:True/False/str 若是False不需要html元素中的id标识与True相反,auto_id="%s",则是field的名字
    return render(request,"register.html",{'reg':regform})

def success(request,name):
    return render(request,"sucess.html",{'username':name})


呵呵,成功将记录写到数据库中了。



本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/1654753,如需转载请自行联系原作者

相关文章
|
存储 缓存 数据库
Django框架学习(四)
Django框架学习(四)
|
前端开发 关系型数据库 MySQL
Django框架学习(三)
Django框架学习(三)
|
JSON 前端开发 数据库
Django框架学习(一)
Django框架学习(一)
|
4月前
|
编解码 前端开发 JavaScript
技术经验分享:Django学习日记
技术经验分享:Django学习日记
|
2月前
|
数据采集 存储 数据可视化
基于python django的智联招聘数据采集与分析系统,有登录注册,可自主选择采集内容
本文介绍了一个基于Python Django框架的智联招聘数据采集与分析系统,该系统具备登录注册功能,允许用户自主选择采集内容,并通过对数据的分析和可视化展示,帮助企业和招聘者优化招聘策略。
基于python django的智联招聘数据采集与分析系统,有登录注册,可自主选择采集内容
|
2月前
|
数据采集 数据可视化 数据挖掘
基于python django的scrapy去哪儿网数据采集与分析,包括登录注册和可视化大屏,有md5加密
本文介绍了一个基于Python和Django框架,使用Scrapy进行去哪儿网数据采集与分析的项目,包括实现登录注册功能、MD5加密以及通过可视化大屏展示分析结果的综合系统。
基于python django的scrapy去哪儿网数据采集与分析,包括登录注册和可视化大屏,有md5加密
|
2月前
|
存储 数据库 数据安全/隐私保护
Python Django的学生选课管理系统,实现多用户登录注册,可选课可评课
本文介绍了一个基于Python Django框架开发的多功能学生选课管理系统,该系统具备教师和学生两个角色的权限管理,支持课程管理、成绩录入、选课申请、成绩查询和个人信息管理等功能,并注重数据安全与隐私保护。
Python Django的学生选课管理系统,实现多用户登录注册,可选课可评课
|
2月前
|
数据采集 数据可视化 前端开发
基于python django的当当网书籍数据采集与可视化分析,实现数据采集与可视化分析,有登录注册和后台管理
本文介绍了一个基于Python和Django框架的当当网书籍数据采集与可视化分析项目,该项目实现了数据采集、用户登录注册、后台管理,并利用数据清洗、分析和可视化技术在前端展示分析结果。
基于python django的当当网书籍数据采集与可视化分析,实现数据采集与可视化分析,有登录注册和后台管理
|
4月前
|
Go 调度 Python
Django 视图探秘:FBV与CBV注册方式的异同,揭秘as_view()的执行魔法
Django 视图探秘:FBV与CBV注册方式的异同,揭秘as_view()的执行魔法
|
4月前
|
存储 JavaScript 前端开发
Python Django下的实现注册验证码
摘要: 使用Python生成随机验证码图像,包括干扰线和噪点,保存到静态文件夹,并将验证码文本存储到数据库。数据库表包含ID、验证码图片路径和验证码文本。JavaScript函数`getRandomInt`生成1到300的随机数,用于请求对应数据库条目的验证码和图片。XMLHttpRequest发送POST请求到服务器,视图函数返回指定ID的验证码图片路径,实现验证码的动态刷新。