• 改变字段显示

    改变字段显示

    你可能首先注意到:当你在本地显示这个表单的时,message字段被显示成input type=”text” ,而它应该被显示成<textarea >。我们可以通过设置 widget 来修改它:

    1. from django import forms
    2. class ContactForm(forms.Form):
    3. subject = forms.CharField()
    4. email = forms.EmailField(required=False)
    5. message = forms.CharField(**widget=forms.Textarea** )

    forms框架把每一个字段的显示逻辑分离到一组部件(widget)中。 每一个字段类型都拥有一个默认的部件,我们也可以容易地替换掉默认的部件,或者提供一个自定义的部件。

    考虑一下Field类表现 校验逻辑 ,而部件表现 显示逻辑