django form插件简单使用

首先HTML效果图:

HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册内容验证</title>
</head>
<body>
    <form action="/register/" method="post" novalidate>
        <p>username:{{ obj.username }}{{ obj.errors.username.0 }}</p>
        <p>password:{{ obj.password }}{{ obj.errors.password.0 }}</p>
        <p>age:{{ obj.age }}{{ obj.errors.age.0 }}</p>
        <p>email:{{ obj.email }}{{ obj.errors.email.0 }}</p>
        <p>address:{{ obj.address }}{{ obj.errors.address.0 }}</p>
        <p>{{ obj.gender }}</p>
        <p>{{ obj.users }}</p>
        <p>{{ obj.myaddrs }}</p>
        <p><input type="submit" value="提交"><input type="reset" value="重置"> </p>
    </form>
</body>
</html>

后台Veiws代码:

from django.shortcuts import render,redirect
from django import forms
from django.forms import widgets
# Create your views here.
#创建Form验证类,继承forms.Form
class RegisterForm(forms.Form):
    username = forms.CharField(max_length=32,min_length=12,required=True,error_messages={
        "max_length":"长度必须为6~12",
        "min_length":"长度必须为6~12",
        "required":"用户名不能为空",
    })
    password = forms.CharField(required=True,error_messages={
        "required":"密码不能为空!"
    })
    age = forms.IntegerField(required=True,error_messages={
        "required": "密码不能为空!",
        "invalid":"年龄必须为数字!"
    })
    email = forms.EmailField(required=True,error_messages={
        "required": "邮箱不能为空!",
        "invalid": "邮箱格式不正确!"
    })
    address = forms.CharField(
        initial=2,
        widget = widgets.Select(choices=((1,"北京"),(2,"上海"),(3,"深圳"),))

    )

    gender = forms.ChoiceField(
        choices=((0,"男"),(1,"女")),
        widget=widgets.RadioSelect,
        initial=0
    )

    #多选select,值为列表
    users = forms.MultipleChoiceField(
        choices=((1,'上海'),(2,'北京'),(3,"深圳")),
        initial=[2,],
        #可以加属性
        widget=widgets.SelectMultiple(attrs={"class":"ray"})
    )

    myaddrs = forms.MultipleChoiceField(
        choices=((1, '上海'), (2, '北京'), (3, "深圳")),
        initial=3,
        widget=widgets.CheckboxSelectMultiple
    )


def register(request):
    if request.method=="GET":
        obj = RegisterForm()
        return render(request,"registervalid.html",{"obj":obj})
    else:
        #将表单值获取到 传入Form参数
        obj = RegisterForm(request.POST)
        if obj.is_valid():
            print("验证成功!",obj.cleaned_data)
            return redirect("Http://www.baidu.com")
        else:
            print("验证失败!",obj.errors)
            return render(request,"registervalid.html",{"obj":obj})

猜你喜欢

转载自blog.csdn.net/java_raylu/article/details/83927657
今日推荐