首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django源码学习-17-Forms

Django源码学习-17-Forms

作者头像
小团子
发布2019-08-16 11:11:14
1K0
发布2019-08-16 11:11:14
举报
文章被收录于专栏:数据云团数据云团

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。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档