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中xrange和range的区别
May 13 Python
Python多线程编程(五):死锁的形成
Apr 05 Python
python中迭代器(iterator)用法实例分析
Apr 29 Python
Python 安装setuptools和pip工具操作方法(必看)
May 22 Python
Python文件监听工具pyinotify与watchdog实例
Oct 15 Python
python游戏开发之视频转彩色字符动画
Apr 26 Python
使用celery执行Django串行异步任务的方法步骤
Jun 06 Python
python程序变成软件的实操方法
Jun 24 Python
使用Python做垃圾分类的原理及实例代码附源码
Jul 02 Python
python 获取sqlite3数据库的表名和表字段名的实例
Jul 17 Python
Python 实现顺序高斯消元法示例
Dec 09 Python
用opencv给图片换背景色的示例代码
Jul 08 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连接Oracle数据库
2006/10/09 PHP
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
PHP模拟QQ登录的方法
2015/07/29 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
2018/07/31 PHP
DOM 脚本编程中的兄弟节点
2009/10/31 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
jquery日历插件datepicker用法分析
2016/01/22 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
2016/09/17 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
2019/09/10 Javascript
简介JavaScript错误处理机制
2020/08/04 Javascript
使用vue构建多页面应用的示例
2020/10/22 Javascript
Python找出文件中使用率最高的汉字实例详解
2015/06/03 Python
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
python如何获取服务器硬件信息
2017/05/11 Python
flask应用部署到服务器的方法
2019/07/12 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
python之随机数函数的实现示例
2020/12/30 Python
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
支部组织生活会方案
2014/06/10 职场文书
机关领导干部作风整顿整改措施
2014/09/19 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
2014年职称评定工作总结
2014/11/26 职场文书
三八节活动简报
2015/07/20 职场文书
2016年党员承诺书范文
2016/03/24 职场文书