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 获取et和excel的版本号
Apr 09 Python
调试Python程序代码的几种方法总结
Apr 28 Python
Django Highcharts制作图表
Aug 27 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
Apr 15 Python
Python实现的基于优先等级分配糖果问题算法示例
Apr 25 Python
对python中使用requests模块参数编码的不同处理方法
May 18 Python
pycharm配置pyqt5-tools开发环境的方法步骤
Feb 11 Python
python实现车牌识别的示例代码
Aug 05 Python
pytorch 自定义卷积核进行卷积操作方式
Dec 30 Python
Python @property原理解析和用法实例
Feb 11 Python
5款实用的python 工具推荐
Oct 13 Python
Python中如何处理常见报错
Jan 18 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函数)
2006/10/09 PHP
生成静态页面的PHP类
2006/11/25 PHP
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
ThinkPHP连接数据库及主从数据库的设置教程
2014/08/22 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
又一个图片自动缩小的JS代码
2007/03/10 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
Jquery删除css属性的简单方法
2016/12/04 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
2019/02/28 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
2019/05/10 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
python实现机器学习之元线性回归
2018/09/06 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
Python Numpy 控制台完全输出ndarray的实现
2020/02/19 Python
斯福泰克软件测试面试题
2015/02/16 面试题
新护士岗前培训制度
2014/02/02 职场文书
白酒市场营销方案
2014/02/25 职场文书
学校端午节活动方案
2014/08/23 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
公司与个人合作协议书
2016/03/19 职场文书
CSS布局之浮动(float)和定位(position)属性的区别
2021/09/25 HTML / CSS
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle
前端JavaScript大管家 package.json
2021/11/02 Javascript