• Working with forms


    翻译 Django文档 Version 1.5

    https://docs.djangoproject.com/en/1.5/topics/forms

    Working with forms

    关于此文章:

    此文介绍了Django form。欲进一步了解forms API,参考 The Forms API, Form fields 以及 Form and field validation.

    django.forms 是Django form的库。

    可以使用Django的HttpRequest类来访问form,你必须遵循一些和form相关的规则。

    使用form会为你带来如下好处:

    1. 使用form小工具(widgets)自动生成HTML的form部分

    2. 用数据校验规则来检查提交(submit)的数据

    3. 在发生校验错误时重新展示form

    4. 把提交的form数据转换成相应的Python数据类型

    概览(Overview)

    Django form遵循的理念:

    Widget

        一个对应于一个HTML表单小部件类,例如 <input type="text"> 或 <textarea>. 负责处理小部件渲染成HTML的动作。

    Field

        负责校验数据的类,例如EmailField负责确保提交的数据是一个合法的email地址。

    Form(表单)

        一个field的集合,它知道如何校验它自己,如何把自己展示成HTML。

    Form Mediia

        用来渲染一个表单的CSS和JavaScript资源。

    Form库和其它Django组件(database layer, 视图, 模板)是松耦合的。它只依赖Django的settings(一些 django.utils 帮助功能和Django国际化hooks,你不需要实现国际化功能去使用此库)。

    Form对象(Form objects):

       一个Form 对象封装了form fields和必须被满足的校验规则。用户需要实现的Form类继承自django.forms.Form,并且利用了一个可声明的方式(如果你熟悉django的database)。

       举例来说,考虑一个实现了"contact me"功能的form。

    from django import forms

    class ContactForm(forms.Form):
        subject = forms.CharField(max_length=100)
        message = forms.CharField()
        sender = forms.EmailField()
        cc_myself = forms.BooleanField(required=False)

    一个form表单由Field对象组成。此时,我们的form有四个field: subject, message, sender 和 cc_myself. CharFieldEmailField 和 BooleanField 是三个可利用的field类型。完整的field列表可以在Form fields找到。


    未完待续。


  • 相关阅读:
    docker file和容器数据卷,发布镜像
    Docker的镜像原理和分层理解和打包镜像
    docker部署nginx,tomcat 练习
    Docker 命令和运行原理简单剖析
    Docker安装
    Java垃圾回收-栈和堆部分知识
    aio-pika的使用
    技术基础 | 在Apache Cassandra中改变VNodes数量的影响
    行业动态 | 通过使用Apache Cassandra实现实时供应链管理
    行业动态 | Apache Pulsar 对现代数据堆栈至关重要的四个原因
  • 原文地址:https://www.cnblogs.com/MonkeyD-Lufy/p/3583905.html
Copyright © 2020-2023  润新知