Django 表单处理流程
2024-08-27 21:07:51
Django 的表单处理:视图获取请求,执行所需的任何操作,包括从模型中读取数据,然后生成并返回HTML页面(从模板中),我们传递一个包含要显示的数据的上下文。使事情变得更复杂的是,服务器还需要能够处理用户提供的数据,并在出现任何错误时,重新显示页面。
下面显示了 Django 如何处理表单请求的流程图,从对包含表单的页面的请求开始(以绿色显示):
基于上图,Django 表单处理的主要内容是:
在用户第一次请求时,显示默认表单。
- 表单可能包含空白字段(例如,如果您正在创建新记录),或者可能预先填充了初始值(例如,如果您要更改记录,或者具有有用的默认初始值)。
- 此时表单被称为未绑定,因为它与任何用户输入的数据无关(尽管它可能具有初始值)。
从提交请求接收数据,并将其绑定到表单。
- 将数据绑定到表单,意味着当我们需要重新显示表单时,用户输入的数据和任何错误都可取用。
清理并验证数据。
- 清理数据会对输入执行清理(例如,删除可能用于向服务器发送恶意内容的无效字符)并将其转换为一致的 Python 类型。
- 验证检查值是否适合该字段(例如,在正确的日期范围内,不是太短或太长等)
如果任何数据无效,请重新显示表单,这次使用任何用户填充的值,和问题字段的错误消息。
如果所有数据都有效,请执行必要的操作(例如保存数据,发送表单和发送电子邮件,返回搜索结果,上传文件等)
完成所有操作后,将用户重定向到另一个页面。
本文首发于BigYoung小站
最新文章
- 安装cocoapods以及更新cocoapods
- karottc A Simple linux-virus Analysis、Linux Kernel <;= 2.6.37 - Local Privilege Escalation、CVE-2010-4258、CVE-2010-3849、CVE-2010-3850
- JavaScript执行顺序分析
- 在SharePoint中无代码开发InfoPath应用: 获取当前用户信息
- 【MPI学习3】MPI并行程序设计模式:不同通信模式MPI并行程序的设计
- Oracle定时执行存储过程
- Xamarin Android设置界面提示类型错误
- NGUI无法按住鼠标按住时无法监听OnHover事件
- CentOS6 搭建git
- jQuery基础学习8——层次选择器children()方法
- 【LeetCode】24. Swap Nodes in Pairs
- 深入了解当前ETL的一些基本技术
- jQuery中的自定义插件之----工厂方法(Factory Widget)
- [BZOJ]2594 水管局长数据加强版(Wc2006)
- vue路由懒加载
- 电脑小白和ta的小白电脑——JAVA开发环境
- JVM内存分配和垃圾收集策略
- [转]data-driven与决策树聚类的两种方法
- Jmeter(四十二)Jmeter工作原理
- [POST] What Is the Linux fstab File, and How Does It Work?
热门文章
- quagga/zebra - 交叉编译(cross)和本地编译(native)
- Axure rp8 注册码,亲测可以用! 可用给个赞呗!!
- 【2019沈阳网络赛】G、Special necklace——自闭的物理题
- Range Module
- Git提交代码的流程——新手适用
- WePY框架 input,checkbox-group,radio-group等change 一般处理方法
- Nginx 简介与安装
- 前端学习(3)-CSS
- qq,新浪分享
- Failed RMAN Catalog Upgrade from 11.2.0.2 to 12.1.0.2 ( ORA-02296 RMAN-06004 )