从头开始定义 Django 表单(使用小部件)
可以通过子类化 django.forms.Form
以与模型类似的方式定义表单。
提供各种现场输入选项,如 CharField
,URLField
,IntegerField
等。
定义简单的联系表格如下:
from django import forms
class ContactForm(forms.Form):
contact_name = forms.CharField(
label="Your name", required=True,
widget=forms.TextInput(attrs={'class': 'form-control'}))
contact_email = forms.EmailField(
label="Your Email Address", required=True,
widget=forms.TextInput(attrs={'class': 'form-control'}))
content = forms.CharField(
label="Your Message", required=True,
widget=forms.Textarea(attrs={'class': 'form-control'}))
Widget 是 Django 对 HTML 用户输入标签的表示,可用于为表单字段呈现自定义 html(例如:为此处的内容输入呈现文本框)
attrs
是将被复制到表单的呈现 html 的属性。
例如:content.render("name", "Your Name")
给出
<input title="Your name" type="text" name="name" value="Your Name" class="form-control" />