Django Form -- 插件的使用

Django Form的三个关键要素:

 

  • 模板类 -- 提供生成前台表单的字段、并根据这些字段来验证用户的表单数据
from django import forms

class LoginForm(forms.Form):
    username = forms.CharField(min_length=3, error_messages={"required": '用户名不能为空', 'min_length': '用户名长度不能小于3'})
    email = forms.EmailField(error_messages={"required": '邮箱不能为空', 'invalid': '邮箱格式错误'})
obj = LoginForm(request.POST)

 

  • 字段 -- 模板类中定义的具体字段类型,用于生成前台表单的html标签,并实现对用户表单数据的验证
    username = forms.CharField()
    email = forms.EmailField()

   CharField是forms下的一个类,CharField这个类内部封装了验证的规则,当调用obj.is_valid()时,会将模板中的字段遍历一遍,逐个进行数据校验,如果都正确,则返回True

  CharField类实际是写在forms目录下的fields.py文件中,所以在具体使用的时候可以这样引用:from django.forms import fields

 

  • 插件 -- 实现对字段的功能扩展
    • 自定义CharField字段的类型 
from django import forms
from django.forms import fields
from django.forms import widgets

class DetailForm(forms.Form):
    #通过插件widgets,将CharField默认的TextInput字段类型变为PasswordInput字段类型
    pwd = fields.CharField(widget=widgets.PasswordInput)

 

    • 自定义字段的属性
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
    input.intro {color:blue;}
</style>
</head>
<body>
    {{ obj.name }}
</body>
</html>

 

from django import forms
from django.forms import fields
from django.forms import widgets

class DetailForm(forms.Form):
    #通过attrs参数,添加样式、placeholder等
    name = fields.CharField(widget=widgets.TextInput(attrs={'placeholder': '用户名', 'class': 'intro' }))

 

前端页面展示效果:

 

    

转载于:https://www.cnblogs.com/dongmengze/p/9816017.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值