django 类视图的使用方法详解


Posted in Python onJuly 24, 2019

 前言

当我们在开发一个注册模块时。浏览器会通过get请求让注册表单弹出来,然后用户输完注册信息后,通过post请求向服务端提交信息。这时候我们后端有两个视图函数,一个处理get请求,一个处理post请求。两个视图函数都是不同的名字。

但是随着开发的进行。当你想要找到注册模块的这两个视图,太麻烦了。如果这两个视图函数能放在一起,归成一个类,作为注册模块的类。这样日后的维护将会方便很多。这时候,django的类视图就能实现这个功能了。

对比

在没有类视图前,视图是这样的:

def get_register_page(request):
  return render(request,"注册页面.html")

def post_register_page(request):
  # 处理请求,把信息写进数据库
  return HttpResponse("注册成功")

有了django的类视图,视图是这样的:

class register(View):
  def get(self,request):
    return render(request,"register.html")

  def post(self,request):
    title = request.POST.get("name")
    content = request.POST.get("password")
    return HttpResponse("注册成功")

别漏了要在项目的urls设置:

url(r'^register$',views.register.as_view())

注意,as_view()是用来分发请求方法的。可以把同一个页面的不同请求方法分发给不同的视图来执行。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python判断一个集合是否包含了另外一个集合中所有项的方法
Jun 30 Python
Python实现多进程共享数据的方法分析
Dec 04 Python
python3爬取各类天气信息
Feb 24 Python
Python中的函数式编程:不可变的数据结构
Oct 08 Python
python中的json总结
Oct 11 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
Jun 27 Python
python实现基于朴素贝叶斯的垃圾分类算法
Jul 09 Python
python用requests实现http请求代码实例
Oct 31 Python
python 实现从高分辨图像上抠取图像块
Jan 02 Python
Python实现投影法分割图像示例(二)
Jan 17 Python
python实现UDP协议下的文件传输
Mar 20 Python
pandas apply使用多列计算生成新的列实现示例
Feb 24 Python
django如何实现视图重定向
Jul 24 #Python
python字符串分割及字符串的一些常规方法
Jul 24 #Python
django使用haystack调用Elasticsearch实现索引搜索
Jul 24 #Python
python 判断三个数字中的最大值实例代码
Jul 24 #Python
Django Celery异步任务队列的实现
Jul 24 #Python
python如何统计代码运行的时长
Jul 24 #Python
Django时区详解
Jul 24 #Python
You might like
php使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
简单谈谈favicon
2015/06/10 PHP
微信开发之获取JSAPI TICKET
2017/07/07 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
2020/04/29 PHP
JS input 数字验证代码
2009/07/30 Javascript
jquery索引在使用中的一些困惑
2013/10/24 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
vue 实现websocket发送消息并实时接收消息
2019/12/09 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
[01:18:21]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
python类继承用法实例分析
2014/10/10 Python
深入探究Python中变量的拷贝和作用域问题
2015/05/05 Python
Python numpy 点数组去重的实例
2018/04/18 Python
python中的字符串内部换行方法
2018/07/19 Python
Python pandas DataFrame操作的实现代码
2019/06/21 Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
2019/07/19 Python
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
利用Canvas模仿百度贴吧客户端loading小球的方法示例
2017/08/13 HTML / CSS
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
人力资源管理系自荐信
2014/05/31 职场文书
美食节目策划方案
2014/05/31 职场文书
预备党员综合考察材料
2014/05/31 职场文书
2014年财政所工作总结
2014/11/22 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
关于环保的广播稿
2015/12/17 职场文书
python调试工具Birdseye的使用教程
2021/05/25 Python