Django 表单类详解

本文详述了Django的表单类使用,包括在视图中使用Form对象、改变字段显示、设置最大长度、设置初始值和自定义校验规则等。通过实例展示了如何创建、验证和自定义表单字段,以及处理表单数据的清理和错误处理。
摘要由CSDN通过智能技术生成

本文纯手工搬运,为自己学习记录使用.

Django带有一个form库,称为django.forms

表单框架最主要的用法是,为每一个将要处理的HTML的<Form> 定义一个 Form 类

from django import forms
class ContactForm(forms.Form):
     subject = forms.CharField()
     email = forms.EmailField(required=False)
     message = forms.CharField()

这看上去简单易懂,并且很像在模块中使用的语法。 表单中的每一个字段(域)作为 Form 类的属性,被展现
成 Field 类。这里只用到 CharField 和 EmailField 类型。 每一个字段都默认是必填。要使 email 成为可选项,我
们需要指定 required=False 。
让我们钻研到Python解释器里面看看这个类做了些什么。 它做的第一件事是将自己显示成HTML:

>>> from contact.forms import ContactForm
>>> f = ContactForm()
>>> print f
<tr><th><label for="id_subject">Subject:</label></th><td><input type="text" name="subject" id="id_
<tr><th><label for="id_email">Email:</label></th><td><input type="text" name="email" id="id_email"
<tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_

为了便于访问,Django用<label> 标志,为每一个字段添加了标签。 这个做法使默认行为尽可能合适。
默认输出按照HTML的<table >格式,另外有一些其它格式的输出:

>>> print f.as_ul()
<li><label for="id_subject">Subject:</label> <input type="text" name="subject" id="id_subject" /><
<li><label for="id_email">Email:</label> <input type="text" name="email" id="id_email" /></li>
<li><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" /><
>>> print f.as_p()
<p><label for="id_subject">Subject:</label> <input type="text" name="subject" id="id_subject" /></
<p><label for="id_email">Email:</label> <input type="text" name="email" id="id_email" /></p>
<p><label for="id_message">Message:</label> <input type="text" name
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值