当前位置:K88软件开发文章中心网站服务器框架django → 文章内容

Django 表单处理

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-25 14:19:17

另一种Python类型)。 如果我们忘记了这一步,None值就会返回,原始的数据就丢失掉了。指定标签HTML表单中自动生成的标签默认是按照规则生成的:用空格代替下划线,首字母大写。如email的标签是"Email" 。(好像在哪听到过? 是的,同样的逻辑被用于模块(model)中字段的verbose_name值。 我们在第五章谈到过。)像在模块中做过的那样,我们同样可以自定义字段的标签。 仅需使用label,像这样:class ContactForm(forms.Form): subject = forms.CharField(max_length=100) email = forms.EmailField(required=False, label='Your e-mail address' ) message = forms.CharField(widget=forms.Textarea)定制Form设计在上面的contact_form.html 模板中我们使用{{form.as_table}} 显示表单,不过我们可以使用其他更精确控制表单显示的方法。修改form的显示的最快捷的方式是使用CSS。 尤其是错误列表,可以增强视觉效果。自动生成的错误列表精确的使用<ul class=”errorlist”>,这样,我们就可以针对它们使用CSS。 下面的CSS让错误更加醒目了:<style type="text/css"> ul.errorlist { margin: 0; padding: 0; } .errorlist li { background-color: red; color: white; display: block; font-size: 10px; margin: 0 0 3px; padding: 4px 5px; }</style>虽然,自动生成HTML是很方便的,但是在某些时候,你会想覆盖默认的显示。 {{form.as_table}}和其它的方法在开发的时候是一个快捷的方式,form的显示方式也可以在form中被方便地重写。每一个字段部件(, , , 或者类似)都可以通过访问{{form.字段名}}进行单独的渲染。<html><head> <title>Contact us</title></head><body> <h1>Contact us</h1> {% if form.errors %} <p style="color: red;"> Please correct the error{{ form.errors|pluralize }} below. </p> {% endif %} <form action="" method="post"> <div class="field"> {{ form.subject.errors }} <label for="id_subject">Subject:</label> {{ form.subject }} </div> <div class="field"> {{ form.email.errors }} <label for="id_email">Your e-mail address:</label> {{ form.email }} </div> <div class="field"> {{ form.message.errors }} <label for="id_message">Message:</label> {{ form.message }} </div> <input type="submit" value="Submit"> </form></body></html>{{ form.message.errors }} 会在  class="errorlist"> 里面显示,如果字段是合法的,或者form没有被绑定,就显示一个空字符串。 我们还可以把 form.message.errors 当作一个布尔值或者当它是list在上面做迭代, 例如:<div class="field{% if form.message.errors %} errors{% endif %}"> {% if form.message.errors %} <ul> {% for error in form.message.errors %} <li><strong>{{ error }}</strong></li> {% endfor %} </ul> {% endif %} <label for="id_message">Message:</label> {{ form.message }}</div>在校验失败的情况下, 这段代码会在包含错误字段的div的class属性中增加一个”errors”,在一个有序列表中显示错误信息。下一章这一章总结了本书的介绍材料,即所谓“核心教程”。 后面部分,从第八章到第十二章,将详细讲述高级(进阶)使用,包括如何配置一个Django应用程序(第十二章)。在学习本书的前面七章后,我们终于对于使用Django构建自己的网站已经知道的够多了, 本书中剩余的材料将在你需要的时候帮助你补遗。第八章我们将回头、并深入地讲解 视图和URLconfs(第三章已简单介绍)。

上一页  [1] [2] [3] [4] [5] [6] [7] 


Django 表单处理