目录

  1)django form作用

  2)django form使用

 

一:django form 作用

  django form有两个作用:一是用户输入数据验证;二是生成html

  1)用户输入数据验证,比如用户输入的用户名密码,不能为空,邮件格式验证等。如果自己写正则写很复杂。可以使用django form实现验证

  2)通过django form生成html表单

二:django form使用

  1)form常用方法 

    #表单使用
    obj=FM(request.POST) #把POST信息提交给表单验证
    r1=obj.is_valid() #让他去验证,并返回值,有没有验证成功。成功返回True,不成功返回False
    print(obj.cleaned_data)#验证成功的信息obj.cleaned_data里面
    print(obj.errors)#验证错误的信息obj.errors里面(列表ul)
    print(obj.errors.as_json()) 返回是字典

  2) form使用简单示例

#创建
    from django import forms
    class FM(forms.Form)


    from django import forms
    class FM(forms.Form):
        user=forms.CharField()
        pwd=forms.CharField()
        email=forms.EmailField()
        #假如用户提交了很多数据过来,我怎么知道是那一个是我们需要验证的。
        这里的user和form表单里的name值是一致的。即定义的字段和form表单里的name属性的值必须要一致


    <form action="/fm/" method="post">
        {% csrf_token %}
        <input type="text" name="user">
        <input type="password" name="pwd">
        <input type="text" name="email">
        <input type="submit" value="提交">
    </form>


    #表单使用

    obj=FM(request.POST) #把POST信息提交给表单验证
    r1=obj.is_valid() #让他去验证,并返回值,有没有验证成功。成功返回True,不成功返回False
    print(obj.cleaned_data)#验证成功的信息obj.cleaned_data里面
    print(obj.errors)#验证错误的信息obj.errors里面(列表ul)
    print(obj.errors.as_json()) 返回是字典
    示例:

    def fm(request):
        if request.method=="GET":
            return render(request,'fm.html')
        if request.method=="POST":
            #获取用户所有数据
            #每条数据请求的验证
            #成功:获取所有正确的信息
            #失败:显示错误信息
            obj=FM(request.POST) #把POST信息提交给表单验证
            r1=obj.is_valid() #让他去验证,并返回值,有没有验证成功。成功返回True,不成功返回False
            print(r1)
            if r1:
                print(obj.cleaned_data)#验证成功的信息obj.cleaned_data里面
            else:
                 print(obj.errors)#验证错误的信息obj.errors里面
            return redirect("/index/")

    结果:
    False
    <ul class="errorlist"><li>user<ul class="errorlist"><li>This field is required.</li></ul></li><li>pwd<ul class="errorlist"><li>This field is required.</li></ul></li><li>email<ul class="errorlist"><li>This field is required.</li></ul></li></ul>


    True
    {'user': 'root', 'pwd': '`12', 'email': '123@126.com'}



    {"user": [{"message": "This field is required.", "code": "required"}], "pwd": [{"message": "This field is required.", "code": "required"}], "email": [{"message": "This field is required.", "code": "required"}]}
View Code

相关文章:

  • 2022-02-24
  • 2022-12-23
  • 2022-01-18
  • 2022-01-06
  • 2021-11-23
  • 2021-11-11
  • 2021-10-12
猜你喜欢
  • 2022-12-23
  • 2021-09-27
  • 2021-05-30
  • 2021-06-24
  • 2021-06-25
  • 2021-09-21
  • 2022-01-06
相关资源
相似解决方案