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监控网站运行异常并发送邮件的方法
Mar 13 Python
Python psutil模块简单使用实例
Apr 28 Python
在Python中使用matplotlib模块绘制数据图的示例
May 04 Python
Python中pow()和math.pow()函数用法示例
Feb 11 Python
在Python中获取两数相除的商和余数方法
Nov 10 Python
用python打印菱形的实操方法和代码
Jun 25 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
Jun 28 Python
Python datetime 如何处理时区信息
Sep 02 Python
python MD5加密的示例
Oct 19 Python
使用Python爬虫爬取小红书完完整整的全过程
Jan 19 Python
python爬取网页版QQ空间,生成各类图表
Jun 02 Python
Python 避免字典和元组的多重嵌套问题
Jul 15 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
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
[推荐]javascript 面向对象技术基础教程
2009/03/03 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
Js,alert出现乱码问题的解决方法
2013/06/19 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
JavaScript Function函数类型介绍
2015/04/08 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
Javascript的表单验证长度
2016/03/16 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
利用JS实现简单的瀑布流加载图片效果
2017/04/22 Javascript
详解利用Angular实现多团队模块化SPA开发框架
2017/11/27 Javascript
详解vue-cli下ESlint 配置说明
2018/09/03 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
Vue 嵌套路由使用总结(推荐)
2020/01/13 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
python实现绘制树枝简单示例
2014/07/24 Python
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
python控制台中实现进度条功能
2015/11/10 Python
Python实现决策树C4.5算法的示例
2018/05/30 Python
python如何实现单链表的反转
2020/02/10 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
美国知名的摄影器材销售网站:Adorama
2017/02/01 全球购物
如何转换一个字符串到enum值
2014/04/12 面试题
Ruby如何实现动态方法调用
2012/11/18 面试题
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
管理科学大学生求职信
2013/11/13 职场文书
电气工程师岗位职责
2014/01/01 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
高中社区服务活动报告
2015/02/05 职场文书
2015教师年度工作总结范文
2015/04/07 职场文书
redis cluster支持pipeline的实现思路
2021/06/23 Redis