最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • django表单验证怎么用

    正文概述    2020-06-24   328

    django表单验证怎么用

    1, 在视图views.py中引入forms模块 from django import forms,特别注意是forms,加s

    2, 然后创建一个类继承django的Form class biaodan(forms.Form):

    3, 编写自定义的表单验证规则, forms模块中提供了许多内置的验证字段如, 针对字符串使用CharFiled,针对邮箱使用 EmailFiled,针对url地址使用URlFiled,数字字段,ip类的字段等等, 每一个字段内我们还可以设置验证条件,比如,是否要求字段可以为空,添加验证条件required=True,表示不能为空,max_length=5,最大字符数,min_length最小字符数,error_messages={},自定的错误信息,字典形式,键为验证条件的字段,错误信息自己可以随便写,针对邮箱有一个错误信息字段为invalid,用来专门写邮箱验证错误后的提示信息,其实错误信息可以自己不编写,模块中有默认的验证错误返回信息,不过是英文的,为了更好的用户体验,建议自己定义

    比如我们定义一个用户的验证

    django框架没有手机号的验证规则可以自定义添加

    # 编写自定义验证规则def mobile_check(value):
        res = re.match('^1[356789]\d{9}$', value)    if not res:        # 自定义规则不抛异常表示通过
            raise ValidationError('手机号码格式错误')class bd(forms.Form):
        mobile = forms.CharField(
            required=True,        # 使用自定义验证规则
            validators=[mobile_check],
            error_messages={            'required': '手机号为必填项',
            },
        )
        user = forms.CharField(
            required=True,
            max_length=4,
            min_length=2,
            error_messages={'required': '不能为空',  'max_length': '最长不能超过4个字符', 
            'min_length': '最小长度为2'
            }
        )

    4, 验证类编写好以后我们就可以,编写逻辑逻辑处理模块了

    def test(request):
        if request.method == 'POST':
            f = bd(request.POST) # 使用bd类验证请求过来大的信息
            if f.is_valid():    # is_valid()返回验证是否通过的布尔值
                # print(f.cleaned_data)  # cleaned_data 返回验证通过后的所有数据,字典形式
                # 可以执行数据库存储操作
                return JsonResponse(f.cleaned_data)
            else:
                return render(request, 'kanyun/test.html', {'info': f.errors})  # errors 获取验证错误信息
        elif request.method == 'GET':
            return render(request, 'kanyun/test.html')

    通过验证后的返回的cleaned_data数据,可以进行对数据库的存储操作
    如果是登陆则可以查询数据库对比,成功后可以执行跳转操作

    前端代码,前端的input的输入框下要有接收错误信息的标签模块用来接收错误提示信息

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1>From模块验证表单模块使用方法访问页面</h1>
    <form action="{% url 'kanyun:test' %}" method="post">
        {% csrf_token %}
        <div>
            用户名:<input type="text" name="mobile"/>
            <span>{{ info.user }}</span>
        </div>
        <div>
            密码:<input type="text" name="user"/>
            <span>{{ info.pwd }}</span>
        </div>
        <button type="submit">提交</button>
    </form>
    <h1>自动创建表单</h1>
    
    </body>
    </html>

    下载网 » django表单验证怎么用

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元