Django 表单处理流程详解

用户头像
Young先生
关注
发布于: 2020 年 08 月 17 日
Django 表单处理流程详解

Django 的表单处理:视图获取请求,执行所需的任何操作,包括从模型中读取数据,然后生成并返回HTML页面(从模板中),我们传递一个包含要显示的数据的上下文。使事情变得更复杂的是,服务器还需要能够处理用户提供的数据,并在出现任何错误时,重新显示页面。



下面显示了 Django 如何处理表单请求的流程图,从对包含表单的页面的请求开始(以绿色显示):





基于上图,Django 表单处理的主要内容是:



  1. 在用户第一次请求时,显示默认表单。



- 表单可能包含空白字段(例如,如果您正在创建新记录),或者可能预先填充了初始值(例如,如果您要更改记录,或者具有有用的默认初始值)。

- 此时表单被称为未绑定,因为它与任何用户输入的数据无关(尽管它可能具有初始值)。



  1. 从提交请求接收数据,并将其绑定到表单。

- 将数据绑定到表单,意味着当我们需要重新显示表单时,用户输入的数据和任何错误都可取用。



  1. 清理并验证数据。

- 清理数据会对输入执行清理(例如,删除可能用于向服务器发送恶意内容的无效字符)并将其转换为一致的 Python 类型。

- 验证检查值是否适合该字段(例如,在正确的日期范围内,不是太短或太长等)



  1. 如果任何数据无效,请重新显示表单,这次使用任何用户填充的值,和问题字段的错误消息。



  1. 如果所有数据都有效,请执行必要的操作(例如保存数据,发送表单和发送电子邮件,返回搜索结果,上传文件等)



  1. 完成所有操作后,将用户重定向到另一个页面。



本文首发于BigYoung小站http://www.bigyoung.cn

发布于: 2020 年 08 月 17 日 阅读数: 27
用户头像

Young先生

关注

Python工程师/书虫/极客/ 2020.04.22 加入

伸手摘星,即使徒劳无功,也不至于满手泥污。 欢迎大家访问我的BigYoung小站(bigyoung.cn)

评论

发布
暂无评论
Django 表单处理流程详解