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使用webbrowser浏览指定url的方法
Apr 04 Python
在CentOS6上安装Python2.7的解决方法
Jan 09 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
May 29 Python
python微信公众号之关注公众号自动回复
Oct 25 Python
Python批量生成特定尺寸图片及图画任意文字的实例
Jan 30 Python
对python条件表达式的四种实现方法小结
Jan 30 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
python实现人工智能Ai抠图功能
Sep 05 Python
pytorch 模拟关系拟合——回归实例
Jan 14 Python
django创建css文件夹的具体方法
Jul 31 Python
通过实例解析python and和or使用方法
Nov 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 mysql数据库操作分页类
2008/06/04 PHP
php xml实例 留言本
2009/03/20 PHP
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
php遍历CSV类实例
2015/04/14 PHP
PHP嵌套输出缓冲代码实例
2015/05/12 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
2015/10/10 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
php源码的使用方法讲解
2019/09/26 PHP
为jQuery增加join方法的实现代码
2010/11/28 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
angularjs中回车键触发某一事件的方法
2017/04/24 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
Python 字典与字符串的互转实例
2017/01/13 Python
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
python 接口测试response返回数据对比的方法
2018/02/11 Python
python3 enum模块的应用实例详解
2019/08/12 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
使用纯HTML5编写一款网页上的时钟的代码分享
2015/11/16 HTML / CSS
电子银行营销方案
2014/02/22 职场文书
机电专业大学生职业规划书范文
2014/02/25 职场文书
学雷锋志愿服务月活动总结
2014/03/09 职场文书
信用社竞聘演讲稿
2014/05/16 职场文书
离职感谢信
2015/01/21 职场文书
公司员工奖惩制度
2015/08/04 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python
Java集成swagger文档组件
2021/06/28 Java/Android
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL