第6章 表单与数据校验


文档摘要

第6章 表单与数据校验 章节摘要:Web 应用的另一半是输入。本章讲 Django 表单体系:从普通 Form 的声明式字段与校验,到 ModelForm 直接由模型生成表单的省力之道,再到校验链条的扩展点与 CSRF 防护的工作机制。输入处理的核心信条只有一条:永远不要信任客户端。 学习目标 声明表单类并在视图中处理 GET 渲染与 POST 提交的完整循环 用 ModelForm 消除模型与表单的重复定义 自定义校验器、字段级与表单级校验的挂载位置 解释 CSRF 防护的完整闭环 核心概念速览 表单不是 HTML 生成器,是一条把"不可信输入"洗成"干净数据"的流水线。 项目当前状态 页面能看不能写。本章结束时墨迹博客支持读者提交评论、作者后台发文,全程校验兜底。

第6章 表单与数据校验

章节摘要:Web 应用的另一半是输入。本章讲 Django 表单体系:从普通 Form 的声明式字段与校验,到 ModelForm 直接由模型生成表单的省力之道,再到校验链条的扩展点与 CSRF 防护的工作机制。输入处理的核心信条只有一条:永远不要信任客户端。

学习目标

  1. 声明表单类并在视图中处理 GET 渲染与 POST 提交的完整循环
  2. 用 ModelForm 消除模型与表单的重复定义
  3. 自定义校验器、字段级与表单级校验的挂载位置
  4. 解释 CSRF 防护的完整闭环

核心概念速览

表单不是 HTML 生成器,是一条把"不可信输入"洗成"干净数据"的流水线。

项目当前状态

页面能看不能写。本章结束时墨迹博客支持读者提交评论、作者后台发文,全程校验兜底。

把输入处理放到生命周期这个阶段讲,是因为墨迹博客恰好走到"从只读到可写"的转折点。只读站点的风险面很小,一旦接受用户输入,攻击面立刻打开:畸形数据可能撑爆数据库,恶意脚本可能注入页面,伪造的请求可能冒充用户操作。Django 表单体系的价值就在于此——它把"校验、清洗、防伪"做成了一条声明式流水线,你描述规则,框架执行流程。学会这套体系后你会发现,自己手写输入处理几乎每个环节都在重新发明它,而且发明得更不安全。

子章节导航

6.1 Form 与 ModelForm

表单类的声明、渲染三态、视图循环模板;ModelForm 的字段裁剪与保存钩子。

6.2 校验器与 CSRF 防护

校验链的四个挂载点、自定义校验器、CSRF 的令牌闭环。

子章节之间的逻辑关系

会声明会渲染(6.1) | v 校验挖深 + 安全闭环(6.2)──> 第7章 登录表单直接复用这套体系

前置知识与后续延伸

  • 前置:第 4 章视图与类视图、第 5 章模板渲染。
  • 为后续铺垫:第 7 章认证直接使用表单体系;第 9 章测试的重点对象之一就是表单校验。

作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U