從頭開始定義 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" />