Django源码学习-17-Forms

Django源码学习-16-TemplateResponse

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

在模型中,一个字段代表数据表的一列,而form表单中的一个字段代表<form>中的一个<input>元素。有些django项目并不直接呈现HTML,而是以API框架的形式存在,在这些API形式的django项目中也用到了django forms。django forms不仅仅是用来呈现HTML, 最强的地方应该是验证能力。

Form 表单功能

  1. 自动生成HTML表单元素
  2. 检查表单数据的合法性
  3. 如果验证错误,重新显示表单(数据不会重置)
  4. 数据类型转换(字符类型的数据转换成相应的Python类型)

Form 相关对象

  1. Widget:用来渲染成HTML元素的工具,如:forms.Textarea对应HTML中的<textarea>标签。
  2. Field:Form对象中的一个字段,如:EmailField表示email字段,如果这个字段不是有效的email格式,就会产生错误。
  3. Form:一系列Field对象的集合,负责验证和显示HTML元素。
  4. Form Media:用来渲染表单的CSS和JavaScript资源。

Form 使用步骤:

① 编写表单类

在当前app内新建一个forms.py文件(就像views.py,models.py等等)

首先导入forms,from django import forms 所有的表单类都继承自forms.Form

每个表单字段都有字段类型比如CharField,它们分别对应一种HTML语言中的<form>元素中的表单。

② 视图处理

需要在视图中,实例化编写好的表单类。

③ 模版处理

name对应字段名称,type对应字段类型field。

原文发布于微信公众号 - 数据云团(SmartData)

原文发表时间:2019-08-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券