设定初始值-libmodbus源码解析 时间:2021-06-24 08:00:37 【文件属性】: 文件名称:设定初始值-libmodbus源码解析 文件大小:7.37MB 文件格式:PDF 更新时间:2021-06-24 08:00:37 PDF 6.7改变字段的渲染方式 在本地渲染这个表单后,你注意到的第一件事可能是 message字段显示为 ,而它应该为 。这个问题可以通过设定字段的 widget参数修正: from django import forms class ContactForm(forms.Form): subject = forms.CharField() email = forms.EmailField(required=False) message = forms.CharField(widget=forms.Textarea) 表单框架把各个字段的表现逻辑交给 widget参数负责。每种字段的 widget参数都有默认值,不过可以轻易 覆盖,或者自定义。Field类表示验证逻辑,而 widget表示表现逻辑。 6.8设定最大长度 最常见的验证需求是检查字段中的值是否为特定的长度。保险起见,我们应该改进 ContactForm,限制 sub- ject的值在 100 个字符以内。为此,只需为 CharField指定 max_length参数,如下所示: from django import forms class ContactForm(forms.Form): subject = forms.CharField(max_length=100) email = forms.EmailField(required=False) message = forms.CharField(widget=forms.Textarea) 此外,还有个 min_length参数。 6.9设定初始值 下面继续改进这个表单,为 subject字段添加一个初始值:“I love your site!”(提供一些建议总是好的。)为 此,创建 Form实例时可以提供 initial参数: def contact(request): if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): cd = form.cleaned_data send_mail( cd['subject'], cd['message'], cd.get('email', 'noreply@example.com'), ['siteowner@example.com'], ) return HttpResponseRedirect('/contact/thanks/') else: form = ContactForm( initial={'subject': 'I love your site!'} ) return render(request, 'contact_form.html', {'form':form}) 6.7 改变字段的渲染方式 - 95 立即下载