Django forms

参考

https://www.cnblogs.com/maple-shaw/articles/9537309.html

views

from django import forms

class RegForm(forms.Form):
    name = forms.CharField(
        label=‘用户名‘,
        min_length=8,  #最小长度
        initial=‘张三‘, #默认值
        error_messages={  #自定义默认提示
            ‘required‘: ‘不能为空‘,
            ‘min_length‘: ‘长度最少为8位‘
        }
    )
    pwd = forms.CharField(
        label=‘密码‘,
        min_length=6,
        max_length=18, #最大长度
        widget=forms.PasswordInput, #改为加密类型
    )

    re_pwd = forms.CharField(
        label=‘确认密码‘,
        widget=forms.PasswordInput,
    )

    gender = forms.ChoiceField(label=‘性别 ‘,choices=((‘1‘, ‘男‘), (‘2‘, ‘女‘)),widget=forms.RadioSelect)

    re_gender = forms.ChoiceField(widget=forms.CheckboxInput)

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="" method="post" novalidate>
    {% csrf_token %}
    {#    {{ form_obj.as_p }}#}
    <p>
        {{ form_obj.name.label }}
        {{ form_obj.name }}
        {{ form_obj.name.errors.0 }}
    </p>
    <p>
        {{ form_obj.pwd.label }}
        {{ form_obj.pwd }}
        {{ form_obj.pwd.errors.0 }}
    </p>
    <p>
        {{ form_obj.re_pwd.label }}
        {{ form_obj.re_pwd }}
        {{ form_obj.re_pwd.errors.0 }}
    </p>
    <p>
        {{ form_obj.gender.label}}
        {{ form_obj.gender }}
        {{ form_obj.gender.errors.0 }}
    </p>
     <p>
        {{ form_obj.re_gender.label}}
        {{ form_obj.re_gender }}
        {{ form_obj.re_gender.errors.0 }}
    </p>

    <button>注册</button>

</form>

</body>
</html>

原文地址:https://www.cnblogs.com/wanglan/p/10387784.html

时间: 2024-10-30 20:36:13

Django forms的相关文章

Django forms select默认值和选中值的展示

Django的forms和models一样很牛逼.他有两种功能,一是生成form表单,还有就是form表单的验证. 这里主要说一下生成form表单时经常用到的需要设置默认值的梁总情况. 1. 需要默认生成select时,设置默认选中的选项. 在django/forms/widgets.py文件中 这里有个_empty_value字段就是设置默认值的. 在创建form时,配置默认选项: 2. 从数据库里查询导数据到前端展示时,如何在前端选中的指定的选项. 将数据库中查询出来的选中的authors的

Django forms组件【对form舒心l了】

目录 Django forms组件 bound and unbound form instance forms渲染有关 隐藏一个字段,不渲染它 form 校验 form类 ModelForm 利用ModelForm关键就在于model's field mapping to form's field ModelForm.save() 详解 class Meta !!!重写覆盖默认的modelField字段(即自定义一些modelform属性) form有关多选择Field的使用 form's fi

django ---forms组件

1 校验字段功能 2 渲染标签功能 3 渲染错误信息功能 4 组件的参数配置 5 局部钩子 6 全局钩子 回到目录 1 校验字段功能 针对一个实例:注册用户讲解. 模型:models.py class UserInfo(models.Model): name=models.CharField(max_length=32) pwd=models.CharField(max_length=32) email=models.EmailField( 模版文件 复制代码 <!DOCTYPE html>

django forms的常用命令及方法(二)

根据别人网上发布,个人爱好收集 1.创建Form类 from django.forms import Form from django.forms import widgets from django.forms import fields class MyForm(Form): user = fields.CharField( widget=widgets.TextInput(attrs={'id': 'i1', 'class': 'c1'}) ) gender = fields.Choice

Django&mdash;&mdash;forms 组件

一.forms简介 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确.如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.. Django forms组件主要功能: 生成页面可用的HTML标签 对用户提交的 数据进行校验 保留上次输入的内容 二.如何使用Django forms 1.注册功能: 渲染前端标签获取用

django forms使用

在app目录下创建forms.py文件:   from django import forms         #导入相关模块   class AddForm(forms.Form):         #必须继承forms.Form     a = forms.EmailField() #电子邮箱格式 b = forms.GenericIPAddressField() #IP地址格式 url.py文件:     urlpatterns = [ url(r'^index/$', index), u

django forms模块使用

通过django froms模块生成html input标签 首先在当前应用下创建一个forms.py的文件 vim forms.py from django import forms def  forms.AdminForm(forms.Form): username = forms.CharField() #生成明文的输入框 password = forms.CharField(widget=forms.widgets.PasswordInput) #生成一个密文显示的输入框 passwor

django forms定义时的一些小技巧

我们在使用django定义好一个model后,可能需要添加或者修改model数据,此时可以借助于django提供的forms表单组件. forms表单和model结合使用时,必须在Meta类中指定关联的model和需要展示的字段(field) django会自动根据每个字段的类型来生成适合的forms字段 如有一个外键字段,django会自动把他转化成其关联的对象而不是简单的展示其关联的id. 一个简单的model关联的forms表单定义,如FlowStageForm1. class FlowS

django forms自带form表单

from django import forms from app_name import models class class_name(forms.ModelForm) class Meta: model = models.Book //默认是所有的都匹配 fields = ('name','pub_date') //提供要匹配的字段 widget = { 'name':forms.TextInput(attrs = {'class':'form-control'}) 前端样式 }