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写的图片蜘蛛人代码
Aug 27 Python
python模块restful使用方法实例
Dec 10 Python
Python采集腾讯新闻实例
Jul 10 Python
使用python opencv对目录下图片进行去重的方法
Jan 12 Python
python3中的eval和exec的区别与联系
Oct 10 Python
关于numpy.where()函数 返回值的解释
Dec 06 Python
Python如何基于selenium实现自动登录博客园
Dec 16 Python
Python使用uuid库生成唯一标识ID
Feb 12 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
Feb 26 Python
Python中logging日志记录到文件及自动分割的操作代码
Aug 05 Python
python控制台打印log输出重复的解决方法
May 14 Python
Python PIL按比例裁剪图片
May 11 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
5.PHP的其他功能
2006/10/09 PHP
php中替换字符串中的空格为逗号','的方法
2014/06/09 PHP
跟我学Laravel之请求与输入
2014/10/15 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
2018/02/24 jQuery
在vue和element-ui的table中实现分页复选功能
2019/12/04 Javascript
Vue实现手机计算器
2020/08/17 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
[01:02:03]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS VG
2014/05/26 DOTA
[01:23:45]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第一场 1月22日
2021/03/11 DOTA
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
Python实现时钟显示效果思路详解
2018/04/11 Python
python flask框架实现重定向功能示例
2019/07/02 Python
OpenCV 模板匹配
2019/07/10 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
Django ORM多对多查询方法(自定义第三张表&ManyToManyField)
2019/08/09 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
自荐书模板
2013/12/19 职场文书
生产部主管岗位职责
2014/01/06 职场文书
开工庆典邀请函范文
2014/01/16 职场文书
护理职业生涯规划书
2014/01/24 职场文书
法学院方阵解说词
2014/01/29 职场文书
简历的自我评价范文
2014/02/04 职场文书
创先争优承诺书范文
2014/03/31 职场文书
法人任命书范本
2014/06/04 职场文书
市场营销工作计划书
2014/09/15 职场文书
开会通知短信大全
2015/04/20 职场文书
运动会班级前导词
2015/07/20 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书