举报投诉联系我们 手机版 热门标签 名动网
您的位置:名动网 > django 表单 Django4.0 使用表单-Django中的表单

django 表单 Django4.0 使用表单-Django中的表单

2023-05-04 11:20 Django4中文教程

django 表单 Django4.0 使用表单-Django中的表单

django 表单 Django4.0 使用表单-Django中的表单

django 表单

我们已经简单的描述过了HTML 表单,但是一个HTML​<form>​只是其所需的一部分。

在网络应用的上下文中,“表单”可能指的是那个HTML​<form>​,或者指产生它的 Django ​Form​,或者指它提交时返回的结构化数据,或者指这些部分的端到端工作集合。

Django的 Form 类

Django表单系统的核心组件是 ​Form ​类。它与Django模型描述对象的逻辑结构、行为以及它呈现给我们内容的形式的方式大致相同, ​Form ​类描述一张表单并决定它如何工作及呈现。
类似于模型类的字段映射到数据库字段的方式,表单类的字段会映射到HTML表单的 ​<input>​ 元素。 ​ModelForm ​通过 ​Form ​映射模型类的字段到HTML表单的 ​<input>​ 元素,Django admin就基于此。
表单字段本身也是类;他们管理表单数据并在提交表单时执行验证。 ​DateField ​和 ​FileField ​处理的数据类型差别很大,所以必须用来处理不同的字段。
在浏览器中,表单字段以HTML控件(用户界面的一个片段)的形式展现给我们。每个字段类型都有与之相匹配的 控件类 ,但必要时可以覆盖。

实例化、处理和渲染表单

在Django中渲染一个对象的时候,我们通常:

  • 在视图中获取它(例如从数据库中取出)
  • 将它传递给模板上下文
  • 使用模板变量将它扩展为HTML标记

在模板中渲染表单几乎与渲染任何其他类型的对象的一样,但是存在一些关键性的差异。

如果模型实例不包含数据,在模板中对它做任何处理几乎没什么用。但完全有理由用来渲染一张空表单——当我们希望用户来填充的时候就会这么做。

所以当我们在视图中处理模型实例时,我们一般从数据库中获取它。当我们处理表单时,我们一般在视图中实例化它。

当我们实例化表单时,我们可以选择让它为空或者对它预先填充,例如使用:

  • 来自已保存的模型实例的数据(例如在管理编辑表单的情况下)
  • 我们从其他来源获取的数据
  • 从前面一个HTML 表单提交过来的数据

最后一种情况最有趣,因为这使得用户不仅可以阅读网站,而且还可以将信息发回给它。


阅读全文
以上是名动网为你收集整理的django 表单 Django4.0 使用表单-Django中的表单全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 名动网 mdwl.vip 版权所有 联系我们