django 类视图的使用方法详解

yipeiwu_com6年前Python基础

 前言

当我们在开发一个注册模块时。浏览器会通过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设计】。

相关文章

PyQt QListWidget修改列表项item的行高方法

PyQt QListWidget修改列表项item的行高方法

百度,谷歌之后都说用setHintSize(self,QCore.QSize(width,height)),然并卵,后来用qss修改就可以了,具体用法如下 以上这篇PyQt QList...

python 对象和json互相转换方法

一、python对json的支持 从python2.6开始,python标准库中添加了对json的支持,操作json时,只需要import json即可。 二、python对象转换成js...

Python通过matplotlib画双层饼图及环形图简单示例

Python通过matplotlib画双层饼图及环形图简单示例

(1) 饼图(pie),即在一个圆圈内分成几块,显示不同数据系列的占比大小,这也是我们在日常数据的图形展示中最常用的图形之一。 在python中常用matplotlib的pie来绘制,基...

Pycharm 实现下一个文件引用另外一个文件的方法

Pycharm 实现下一个文件引用另外一个文件的方法

换了个电脑重新安装了Anaconda和Pycharm,把原来的项目导进去之后,有几个文件用到了另外几个文件里面的东西,引用老是报错。 如下图的位置,我这里已经修复了所以没看到标红啦:...

python开发之list操作实例分析

本文实例分析了python开发之list操作。分享给大家供大家参考,具体如下: 对python中list的操作,大家可以参考《Python list操作用法总结》 以下是我个人的笔记:...