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中的from..import绝对导入语句
Jun 21 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
Jun 23 Python
Python进阶学习之特殊方法实例详析
Dec 01 Python
Python使用matplotlib简单绘图示例
Feb 01 Python
Flask框架URL管理操作示例【基于@app.route】
Jul 23 Python
解决python彩色螺旋线绘制引发的问题
Nov 23 Python
python中的subprocess.Popen()使用详解
Dec 25 Python
Python交互环境下打印和输入函数的实例内容
Feb 16 Python
Python Pandas 对列/行进行选择,增加,删除操作
May 17 Python
pytorch 预训练模型读取修改相关参数的填坑问题
Jun 05 Python
详解Python中下划线的5种含义
Jul 15 Python
python内置模块之上下文管理contextlib
Jun 14 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程序员工具
2008/05/26 PHP
JavaScript 中的事件教程
2007/04/05 Javascript
在JS中最常看到切最容易迷惑的语法(转)
2010/10/29 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
2015/06/25 Javascript
完善的jquery处理机制
2016/02/21 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
在一般处理程序(ashx)中弹出js提示语
2017/08/16 Javascript
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
vue.js中使用echarts实现数据动态刷新功能
2019/04/16 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
2019/08/04 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
python爬取音频下载的示例代码
2020/10/19 Python
html5贪吃蛇游戏使用63行代码完美实现
2013/06/25 HTML / CSS
亚马逊西班牙购物网站:amazon西班牙
2017/03/06 全球购物
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
美国折衷生活方式品牌:Robert Graham
2018/07/13 全球购物
就业推荐自我鉴定
2013/10/06 职场文书
个人查摆剖析材料
2014/10/16 职场文书
委托证明范本
2014/11/25 职场文书
护士个人年度总结范文
2015/02/13 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书
《中华上下五千年》读后感3篇
2019/11/29 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers