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解析网页源代码中的115网盘链接实例
Sep 30 Python
python实现每次处理一个字符的三种方法
Oct 09 Python
python概率计算器实例分析
Mar 25 Python
深入解析Python编程中JSON模块的使用
Oct 15 Python
Python 性能优化技巧总结
Nov 01 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
Python操作配置文件ini的三种方法讲解
Feb 22 Python
计算机二级python学习教程(1) 教大家如何学习python
May 16 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
Feb 28 Python
python为什么要安装到c盘
Jul 20 Python
Python如何telnet到网络设备
Feb 18 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
Mar 02 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源代码
2009/08/21 PHP
php设计模式 Factory(工厂模式)
2011/06/26 PHP
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
laravel实现按时间日期进行分组统计方法示例
2019/03/23 PHP
ext 同步和异步示例代码
2009/09/18 Javascript
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
Javascript的常规数组和关联数组对比小结
2012/05/24 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
jQuery延迟执行的实现方法
2016/12/21 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
微信小程序实现滚动消息通知
2018/02/02 Javascript
vue项目使用微信公众号支付总结及遇到的坑
2018/10/23 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
详解javascript void(0)
2020/07/13 Javascript
[56:46]Liquid vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python for循环输入一个矩阵的实例
2018/11/14 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
Python魔法方法功能与用法简介
2019/04/04 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
python不同系统中打开方法
2020/06/23 Python
python3字符串输出常见面试题总结
2020/12/01 Python
Django中ORM的基本使用教程
2020/12/22 Python
英国网上购买门:Direct Doors
2018/06/07 全球购物
战略合作协议书范本
2014/04/18 职场文书
答谢会策划方案
2014/05/12 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
公司授权委托书
2014/10/17 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
《我是什么》教学反思
2016/02/16 职场文书
2016年教师师德师风承诺书
2016/03/25 职场文书
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python
零基础学java之带参数以及返回值的方法
2022/04/10 Java/Android