简单用法:

     Django提供 Form组件:
            1. 定义规则
                from django.forms import Form
                from django.forms import fields
                class xxx(Form):
                    xx = fields.CharField(required=True,max_lenght.,min,error_message=)
  
            2. 使用
                          
                obj = xxx(request.POST)
                # 是否校验成功
                v = obj.is_valid()
                    # html标签name属性 = Form类字段名
                # 所有错误信息
                obj.errors
                
                # 正确信息
                obj.cleaned_data

 

from django.forms import Form
from django.forms import fields

class LoginForm(Form):
    # 正则验证: 不能为空,6-18
    username = fields.CharField(
        max_length=18,
        min_length=6,
        required=True,
        error_messages={
            'required': '用户名不能为空',
            'min_length': '太短了',
            'max_length': '太长了',
        }
    )
    # 正则验证: 不能为空,16+
    password = fields.CharField(min_length=16,required=True)
    # email = fields.EmailField()
    # email = fields.GenericIPAddressField()
    # email = fields.IntegerField()


def login(request):
    if request.method == "GET":
        return render(request,'login.html')
    else:
       obj = LoginForm(request.POST)
       if obj.is_valid():
           # 用户输入格式正确
           print(obj.cleaned_data) # 字典类型
           return redirect('http://www.baidu.com')
       else:
           # 用户输入格式错误
           return render(request,'login.html',{'obj':obj})



    <form method="POST" action="/login/">
        {% csrf_token %}
        <p>
            用户:<input type="text" name="username"/>{{ obj.errors.username.0 }}
        </p>
        <p>
            密码:<input type="password" name="password"/>{{ obj.errors.password.0 }}
        </p>
        <input type="submit" value="提交" />{{ msg }}
    </form>
View Code

相关文章:

  • 2022-01-06
  • 2021-11-23
  • 2021-11-11
  • 2021-10-12
  • 2022-01-09
猜你喜欢
  • 2022-03-08
  • 2022-12-23
  • 2022-02-08
  • 2021-12-09
  • 2022-12-23
  • 2022-01-18
相关资源
相似解决方案