博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django form 验证
阅读量:6312 次
发布时间:2019-06-22

本文共 1224 字,大约阅读时间需要 4 分钟。

    前面讲了这一块,对的django的form有个大概的认识,这一节我主要讲下

处理分为两部分:

1form自身处理

2views里的处理

form自身处理:

假如我们定义一个用户的表单

class Member(model.ModelFrom):

    def clean_username(self): 这个是对form里面的<input type="text" name="username">进行验证

        """验证帐号"""
        ....

   如果我们有个需求需要验证比如密码和重复密码是否相同的话。这样验证单个字段的方法就没有用了

  用下面这个就可以解决了

  def clean(self):

   这里就可以验证超过2个字段的数据

           password = self.cleaned_data.get('password', '').strip()

        password1 = self.cleaned_data.get('password1','').strip()
        if password and password1 and  password != password1:
            msg = u'两次密码输入不一致'
            self._errors["password1"] = ErrorList([msg])
            del self.cleaned_data["password1"]
        return self.cleaned_data

哈哈,django的form神奇把

2view的处理:

    if 'POST' == request.method:

        article = Domain.objects.filter(id=aid)[0]
        form = DomainForm(request.POST,instance=article)#这个是把request请求的数据和forml绑定起来
        if form.is_valid():#form验证处理
            form.save()#如果验证通过的话。把form的数据添加到数据库里

如果我们在添加数据到数据库前需要处理一些数据,再入库的话,就可以用到下面一个方法了

   m = form.save(commit=False)

 m.title = 'sss'

 m.save()

            return HttpResponseRedirect('')
        else:
            tmp['form'] = form#这里是数据没有通过验证的话
    else:
        article = Domain.objects.filter(id=aid)[0]
        tmp['form'] = DomainForm(instance=article)  这个是把django的form和Model结合起来

 

   

有兴趣的可以了解下关于的其他方面的内容: [] [] []

转载于:https://www.cnblogs.com/wanpython/archive/2012/12/02/2798324.html

你可能感兴趣的文章
Linux中ctrl-c, ctrl-z, ctrl-d 区别
查看>>
Hadoop HBase概念学习系列之HLog(二)
查看>>
mysql设置datetime默认值为now
查看>>
R语言获取国内的股票数据
查看>>
Hadoop MapReduce编程 API入门系列之wordcount版本3(七)
查看>>
git命令
查看>>
Scrapy框架实现爬虫
查看>>
深入理解C++11:C++11新特性解析与应用
查看>>
Elasticsearch 数据搜索篇·【入门级干货】
查看>>
[LeetCode] Merge Intervals
查看>>
Winform开发框架之存储过程的支持--存储过程的实现和演化提炼(1)
查看>>
把Java程序打包成jar文件包并执行
查看>>
Meta标签实现阻止移动设备(手机、Pad)的浏览器双击放大网页
查看>>
创业公司常用服务
查看>>
深入理解和探究Java类加载机制
查看>>
Portal for ArcGIS 资源承载数据类型
查看>>
技术开发人员适应其他部门提需求的一个经验
查看>>
百度索引量是什么意思?怎么提高索引量?
查看>>
IE10 IE11 中 网站无法登录问题cookie
查看>>
HTTP Status Codes
查看>>