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中用Spark模块的使用教程
Apr 13 Python
python入门教程之识别验证码
Mar 04 Python
Python 模拟登陆的两种实现方法
Aug 10 Python
python实现八大排序算法(2)
Sep 14 Python
python实现图片处理和特征提取详解
Nov 13 Python
详解Python如何生成词云的方法
Jun 01 Python
python实现年会抽奖程序
Jan 22 Python
对Python Class之间函数的调用关系详解
Jan 23 Python
django之状态保持-使用redis存储session的例子
Jul 28 Python
Django中的用户身份验证示例详解
Aug 07 Python
Python-jenkins模块获取jobs的执行状态操作
May 12 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
Dec 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入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
jQuery插件dataTables添加序号列的方法
2016/07/06 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
JavaScript之iterable_动力节点Java学院整理
2017/06/29 Javascript
基于datepicker定义自己的angular时间组件的示例
2018/03/14 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
2019/11/24 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
Python 迭代器工具包【推荐】
2016/05/06 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
python Web开发你要理解的WSGI & uwsgi详解
2018/08/01 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
pandas的排序和排名的具体使用
2019/07/31 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
django有哪些好处和优点
2020/09/01 Python
New Balance澳大利亚官网:运动鞋和健身服装
2019/02/23 全球购物
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
后勤自我鉴定
2013/10/13 职场文书
岗位职责风险防控
2014/02/18 职场文书
小学教师读书活动总结
2014/07/08 职场文书
教师个人考察材料
2014/12/16 职场文书