从头开始定义 Django 表单(使用小部件)

可以通过子类化 django.forms.Form 以与模型类似的方式定义表单。
提供各种现场输入选项,如 CharFieldURLFieldIntegerField 等。

定义简单的联系表格如下:

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" />