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之禅》中对于Python编程过程中的一些建议
Apr 03 Python
Python画图学习入门教程
Jul 01 Python
matplotlib在python上绘制3D散点图实例详解
Dec 09 Python
Python设计模式之MVC模式简单示例
Jan 10 Python
python爬取淘宝商品详情页数据
Feb 23 Python
PyQt5每天必学之组合框
Apr 20 Python
详解Python3.6的py文件打包生成exe
Jul 13 Python
基于pycharm导入模块显示不存在的解决方法
Oct 13 Python
python实现基于朴素贝叶斯的垃圾分类算法
Jul 09 Python
python扫描线填充算法详解
Feb 19 Python
构建高效的python requests长连接池详解
May 02 Python
Python self用法详解
Nov 28 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
香妃
2021/03/03 冲泡冲煮
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
php通过exif_read_data函数获取图片的exif信息
2015/05/21 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
让人期待的2011年度最佳 jQuery 插件分享
2012/03/16 Javascript
JS实现很酷的EMAIL地址添加功能实例
2015/02/28 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
JavaScript 中有关数组对象的方法(详解)
2016/08/15 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
Angularjs中使用layDate日期控件示例
2017/01/11 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
基于pako.js实现gzip的压缩和解压功能示例
2017/06/13 Javascript
node.js环境搭建图文详解
2018/09/19 Javascript
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
2018/10/17 NodeJs
vue项目中在外部js文件中直接调用vue实例的方法比如说this
2019/04/28 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
2014/05/05 Python
在Python下进行UDP网络编程的教程
2015/04/29 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
Django单元测试工具test client使用详解
2019/08/02 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
python实现简单颜色识别程序
2020/02/19 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
2020/04/14 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
2020/04/21 Python
python空元组在all中返回结果详解
2020/12/15 Python
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
买房协议书
2014/04/11 职场文书
研究生简历自我评价范文
2014/09/13 职场文书
2015年团支部工作总结
2015/04/03 职场文书
关于迟到的检讨书
2015/05/06 职场文书
2015国庆节感想
2015/08/04 职场文书
基于python的matplotlib制作双Y轴图
2021/04/20 Python