码迷,mamicode.com
首页 > 其他好文 > 详细

Django form表单

时间:2018-11-06 22:30:35      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:gen   port   组件   下拉框   font   rom   django   char   error   

form组件的主要功能:

  • 生成页面可用的HTML标签
  • 对用户提交的数据进行校验
  • 将校验结果返回至HTML 并且可以保留上次输入内容

使用form表单实现注册功能

1、导入form  

from django  import   forms

 2、定义一个form类

class Regform(forms.Form):
user = forms.CharField(max_length= 8,label=‘用户名‘)
pwd = forms.CharField(min_length=6,label=‘密码‘)

 3、实例化form对象,传导模板语言中

def reg(request):
    form_obj = Regform()
    return  render(request,‘reg.html‘,{‘form_obj‘:form_obj})

 4、在模板语言中调用form对象的响应方法和属性

对得到的只做校验。将值写入到数据库

form表单的常用字段和插件

初始值initial  input框里HTML里边默认的显示的值

class Regform(forms.Form):
    user = forms.CharField(max_length= 8,label=‘用户名‘,initial="小白")
    pwd = forms.CharField(min_length=6,label=‘密码‘)

 error_messages  重写错误信息

class Regform(forms.Form):
    user = forms.CharField(
        min_length= 8,
        label=‘用户名‘,
         error_messages={
            "required": "不能为空",
            "invalid": "格式错误",
            "min_length": "用户名最短8位"
        }
    )

    pwd = forms.CharField(min_length=6,label=‘密码‘)

 password    

from django.forms  import  widgets  #使用widgers插件生成HTML相关的设置
from django  import   forms
class Regform(forms.Form):
    user = forms.CharField(
        min_length= 8,
        label=‘用户名‘,
         error_messages={
            "required": "不能为空",
            "invalid": "格式错误",
            "min_length": "用户名最短8位"
        }
    )
    pwd = forms.CharField(
        min_length=6,
        label=‘密码‘,
        widget=widgets.PasswordInput(attrs={class‘: c1‘},render_value=True) #密码还是在输入框内
    )

 radioSelect   单选

class Regform(forms.Form):
    user = forms.CharField(
        min_length=8,
        label=‘用户名‘,
        error_messages={
            "required": "不能为空",
            "invalid": "格式错误",
            "min_length": "用户名最短8位"
        }
    )
    pwd = forms.CharField(
        min_length=6,
        label=‘密码‘,
        widget=widgets.PasswordInput(attrs={‘class‘: ‘c1‘}, render_value=True)
    )
    gender = forms.fields.ChoiceField(
        choices=((1, "男"), (2, "女"), (3, "保密")),
        label="性别",
        initial=3,
        widget=forms.widgets.RadioSelect()
    )

 下拉框select的单选与多选

class Regform(forms.Form):
    hobby = forms.ChoiceField(
        choices=((1, "篮球"), (2, "足球"), (3, "双色球"),),
        label="爱好",
        initial=3,
        widget=forms.widgets.Select()
    )
    hobby2 = forms.MultipleChoiceField(
        choices=((1, "篮球"), (2, "足球"), (3, "双色球"),),
        label="爱好",
        initial=[1, 3],
        widget=forms.widgets.SelectMultiple()
    )

 checkbox的单选与多选

class Regform(forms.Form):
    hobby3 = forms.MultipleChoiceField(
        choices=((1, "篮球"), (2, "足球"), (3, "双色球"),),
        label="爱好",
        initial=[1, 3],
        widget=forms.widgets.CheckboxSelectMultiple()
    )

    keep = forms.ChoiceField(
        label="是否记住密码",
        initial="checked",
        widget=forms.widgets.CheckboxInput()
    )

 

Django form表单

标签:gen   port   组件   下拉框   font   rom   django   char   error   

原文地址:https://www.cnblogs.com/weidaijie/p/9918221.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!