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执行get提交的方法
Apr 29 Python
Python实现获取命令行输出结果的方法
Jun 10 Python
python3正则提取字符串里的中文实例
Jan 31 Python
利用anaconda作为python的依赖库管理方法
Aug 13 Python
Python使用matplotlib 模块scatter方法画散点图示例
Sep 27 Python
django执行数据库查询之后实现返回的结果集转json
Mar 31 Python
Virtualenv 搭建 Py项目运行环境的教程详解
Jun 22 Python
Django中Aggregation聚合的基本使用方法
Jul 09 Python
python一些性能分析的技巧
Aug 30 Python
Python logging自定义字段输出及打印颜色
Nov 30 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
Mar 03 Python
pytorch中的 .view()函数的用法介绍
Mar 17 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
星际争霸任务指南——神族
2020/03/04 星际争霸
Discuz! Passport 通行证整合
2008/03/27 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
JavaScript函数作用域链分析
2015/02/13 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
django模板语法学习之include示例详解
2017/12/17 Python
python删除本地夹里重复文件的方法
2020/11/19 Python
Python实现的爬取网易动态评论操作示例
2018/06/06 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
Django MEDIA的配置及用法详解
2019/07/25 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
视图的作用
2014/12/19 面试题
搞笑车尾标语
2014/06/23 职场文书
暑期学习心得体会
2014/09/02 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
2015年全国助残日活动方案
2015/05/04 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL
python解析照片拍摄时间进行图片整理
2022/07/23 Python