Django form表单与请求的生命周期步骤详解


Posted in Python onJune 07, 2020

Django中请求的生命周期

HTTP请求及服务端响应中传输的所有数据都是字符串

步骤

  • 用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务器
  • url经过wsgi和中间件,到达路由映射表,在路由中一条一条进行匹配
  • 视图函数根据客户端的请求查询响应的数据,返回给
  • DjangoDjango把客户端想要的数据做为一个字符串返回给客户端
  • 客户端浏览器接收到返回的数据,经过渲染后显示给用户

FBV

一个url对应一个视图函数

url匹配成功之后,会直接执行对应的视图函数。

CBV

一个url对应一个类

url匹配成功找到视图函数中对应的类,然后这个类回到请求头中找到对应的Request.Method如果客户端以post的方式提交请求,就执行类中的post方法如果客户端以get的方式提交请求,就执行类中的get方法

步骤:

  1. 服务端发送包含url和method的请求,这两个信息都是字符串类型
  2. 服务端通过路由映射表匹配成功后会自动去找dispatch方法
  3. Django会通过dispatch反射的方式找到类中对应的方法并执行
  4. 勒种的方法执行完毕后,会把客户端想要的数据返回给dispatch方法
  5. dispatch方法把数据返回给客户端

form表单

定义:

Django的表单系统中,所有的表单都继承自django.forms.Form

Django的表单系统

form_obj.as_p		 #在html网页渲染所有的字段
label				#为一个标签添加id号
form_obj.字段		 #渲染指定的字段
min_length			#绑定字段的最短长度
max_length			#绑定字段的最长长度
is_valid()			#验证用户输入的信息是否有效,返回一个布尔值
cleaned_data()		 #清洗数据
error_massage()		 #定义错误的返回信息
#文件上传:
request.POST.get("file")	#获取上传的文件的文件名
request.FILES			#获取上传文件的对象	结果是一个字段
file_obj.name			#获取上传文件在内存中的名字
#上传文件时要使用分片传输的方式
#上传
enctype="multipart/form-data"	#form表单的属性里添加
#接收
if request.method=="POST":
 file_obj = request.FILES.get("up_file")
 fl = open(file_obj.name,'vb')
 for i in file_obj.chunks():
 fl.write(i)
 fl.close()
#可以在class Meta中设定的功能

model = model.UserInfo		#显示对于Model的字典,这里显示用户信息表
fields = "__all__"		#显示数据表中所有的字段
fields = ["username","age"]	#显示数据表的某些指定的字段
exclude = ["email"]		#不显示数据表的某些字段
#自定义页面的标签
labels = {"username":"用户名","age":"年龄","email":"邮箱"}	
#自定义在标签后面显示的提示帮助信息
help_texts = {"username":"请输入正确的用户名","email":"请输入正确的邮箱"}	
#自定义错误信息,用户输入错误时提示
error_messages = {"username":{"required":"用户名不能为空"},"email":{"invalid":"邮箱不能为空"}}
#自定义标签的类型,在这里把email这个输入框的类型更改为email类型
from django import fields as field_widget
field_classes = {}"email":field_widget.EmailField}
#自定义插件(attrs为插件的属性)
from django.forms import widgets as formwidget
widgets = {"username":formwidget.Textarea(attrs={"class":"c1"})}

总结

到此这篇关于Django-form表单与请求的生命周期的文章就介绍到这了,更多相关Django-form表单与请求的生命周期内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
浅析Python的Django框架中的Memcached
Jul 23 Python
OpenCV-Python实现轮廓检测实例分析
Jan 05 Python
Tornado高并发处理方法实例代码
Jan 15 Python
python调用百度语音识别实现大音频文件语音识别功能
Aug 30 Python
Python控制键盘鼠标pynput的详细用法
Jan 28 Python
python+rsync精确同步指定格式文件
Aug 29 Python
Python定时发送天气预报邮件代码实例
Sep 09 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
Jan 13 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
更新升级python和pip版本后不生效的问题解决
Apr 17 Python
python 两种方法删除空文件夹
Sep 29 Python
Django cookie和session的应用场景及如何使用
Apr 29 Python
python ETL工具 pyetl
Jun 07 #Python
python框架flask入门之路由及简单实现方法
Jun 07 #Python
python框架flask入门之环境搭建及开启调试
Jun 07 #Python
python实现一次性封装多条sql语句(begin end)
Jun 06 #Python
python 在sql语句中使用%s,%d,%f说明
Jun 06 #Python
解决python 执行sql语句时所传参数含有单引号的问题
Jun 06 #Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 #Python
You might like
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
php防止站外远程提交表单的方法
2014/10/20 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
PHP常用的三种设计模式
2017/02/17 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
关于div自适应高度/左右高度自适应一致的js代码
2013/03/22 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
2015/10/25 Javascript
js基础知识(公有方法、私有方法、特权方法)
2015/11/06 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
H5基于iScroll实现下拉刷新和上拉加载更多
2017/07/18 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
Python的Django框架安装全攻略
2015/07/15 Python
linux安装Python3.4.2的操作方法
2018/09/28 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
在HTML5中使用MathML数学公式的简单讲解
2016/02/19 HTML / CSS
美国最大的团购网站:Groupon
2016/07/23 全球购物
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
初中生个人学习的自我评价
2013/12/04 职场文书
安全大检查反思材料
2014/01/31 职场文书
摄影助理岗位职责
2014/02/07 职场文书
文秘应届生求职信
2014/07/05 职场文书
任命书格式模板
2015/09/22 职场文书
如何起草一份正确的合伙创业协议书?
2019/07/04 职场文书
SQL CASE 表达式的具体使用
2022/03/21 SQL Server