15-django-基础篇-类视图(代码片段)

爱学习de测试小白 爱学习de测试小白     2022-10-22     180

关键词:

类视图


前言

  • 本篇来学习Django中类视图的使用

类视图的定义

  • 在Django中也可以使用类来定义一个视图,称为类视图
  • 使用类视图可以将视图对应的不同请求方式以类中的不同方法来区别定义。如下
# urls.py
from book01.views import RegisterView
urlpatterns = [
    path('register/', RegisterView.as_view()),
]


# views.py
from django.views.generic import View

class RegisterView(View):
    """类视图:处理注册"""

    def get(self, request):
        """处理GET请求,返回注册页面"""
        return HttpResponse('这是get请求')

    def post(self, request):
        """处理POST请求,实现注册逻辑"""
        return HttpResponse('这里post请求,实现注册逻辑')

类视图的好处:

  • 代码可读性好
  • 类视图相对于函数视图有更高的复用性 , 如果其他地方需要用到某个类视图的某个特定逻辑,直接继承该类视图即可

定义类视图需要继承自Django提供的父类View,可使用from django.views.generic import View或者from django.views.generic.base import View导入

类视图的多继承

# urls.py 
from book01.views import OrderView
urlpatterns = [
    path('register/', OrderView.as_view()),
]

# views.py
from django.views.generic import View
from django.contrib.auth.mixins import LoginRequiredMixin

class OrderView(LoginRequiredMixin, View):
    """"订单"""

    # LoginRequiredMixin:判断只有蚕录用户(登录admin站点)才可以访问页面
    def get(self, request):
        print('mro顺序', OrderView.__mro__)
        return HttpResponse('get请求,我的订单页面,必须登录才可以访问')

    def post(self, request):
        return HttpResponse('post请求,我的订单页面,必须登录才可以访问')

记录学习android基础的心得08:常用控件(中级篇)p2(代码片段)

文章目录三、翻页类视图1.翻页视图四、对话框1.提醒对话框2.进度对话框3.日期选择对话框4.时间选择对话框五、视频视图六、表面视图和纹理视图1.表面视图2.纹理视图总结三、翻页类视图1.翻页视图(1)作用和外观翻页... 查看详情

pythonqtgui设计:qcalendar日历类和qdatetimeedit时间类(基础篇—20)(代码片段)

目录1、QCalendar日历类2、QDateTimeEdit时间类1、QCalendar日历类QCalendar是一个日历控件,它提供了一个基于月份的视图,允许用户通过鼠标或键盘选择日期,默认选中的是今天的日期。也可以对日历的日期范围进行规定。Qt... 查看详情

python基础篇——类(代码片段)

python基础篇——类  hello!我是wakeyo_J,每天一个konwledgepoint,一起学python,让技术无限发散。类python基础篇——类1.面向过程的编程2.面向对象的编程3.编写一个类4.类的定义5.参数self6.初始化方法7.类的封装8.装... 查看详情

09-django-基础篇-定义模型类(代码片段)

...属性命名限制4.字段类型5.选项6.外键迁移前言本篇来学习Django中如何定义模型类定义models.py中定义模型类fromdjango.dbimportmodels#Createyourmodelshere."""1.模型类需要继承自models.Model2.定义属性id系统默认生成属性名=models.类型& 查看详情

[python面向对象]--基础篇(代码片段)

1.#类#类就是一个模板,模板里可以包含多个函数,函数里实现一些功能#定义一个类classbar:deffoo(self,agr):print(self,agr)obj=bar()print(obj)print(obj.foo("调用类的方法"))2.#方法#把函数写在类里就是方法#构造方法#普通方法classperson:def__init__(s... 查看详情

pythonqtgui设计:窗口布局管理方法强化篇(基础篇—6)(代码片段)

目录1、 水平布局类(QHBoxLayout)2、垂直布局类(QVBoxLayout)3、网格布局类(QGridLayout)3.1、单一的网络布局3.2、跨越行、列的网络布局4、表单布局类(QFormLayout)5、嵌套布局5.1、在布局中添加其... 查看详情

java安全-入门篇开发基础(mavenjavamvc反射类加载代码远程调试)(代码片段)

在学习Java安全之前首先对Java开发的基础知识简单学习文章目录基础知识核心技术介绍MavenJavaMVCServletFiiter反射类加载远程调试基础知识因为Java体系比较庞大,没有学过Java开发的初学者很容易搞晕,介绍部分常用技术核心... 查看详情

selenium学习中级篇-20封装basepage基础类(代码片段)

...sp;在Base包中新建一个BasePage.py这个文件中,主要封装一些基础的操作,比如说打开url,关闭浏览器,点击,输入,获取元素等与业务逻辑无关的最底层的操作这个类,可以根据不同的项目需求进行拓展,本文只是举了一个简单的... 查看详情

python基础篇_006_面向对象(代码片段)

面向对象1.初识类:#定义一个函数,我们使用关键字def"""def函数名(参数):‘‘‘函数说明‘‘‘函数体return返回值"""deffunc():print("funcexecute...")#定义一个类使用关键字class"""class类名:‘‘‘类说明‘‘‘类体"""classC:passclassPerson:role... 查看详情

pythonqtgui设计:qclipboard剪贴数据类(基础篇—19)(代码片段)

QClipboard类提供了对系统剪贴板的访问,可以在应用程序之间复制和粘贴数据,它的操作类似于QDrag类,使用类似的数据类型。QApplication类有一个静态方法clipboard(),它返回对剪贴板对象的引用。任何类型的MimeData都... 查看详情

pythonqtgui设计:qclipboard剪贴数据类(基础篇—19)(代码片段)

QClipboard类提供了对系统剪贴板的访问,可以在应用程序之间复制和粘贴数据,它的操作类似于QDrag类,使用类似的数据类型。QApplication类有一个静态方法clipboard(),它返回对剪贴板对象的引用。任何类型的MimeData都... 查看详情

sklearn机器学习基础(day02基础入门篇)(代码片段)

文章目录基本算法使用(Sklearn)算子API调用分步曲数据分析分步曲分类算法KNN算法网格优化KNN案例(预测facebook签到位置)数据清洗KNN处理预测完整代码朴素贝叶斯算法决策树案例可视化决策树随机森林回归与聚类算... 查看详情

04-django-基础篇-模型(代码片段)

...2.模型迁移(建表)3.操作数据库前言本篇来学习Django中的模型(Model)ORMMVT设计模式中的Model,专门负责和数据库交互.对应(models.py)由于Model中内嵌了ORM框架,所以不需要直接面向数据库编程.而是定义模型类,通过模型类和对象... 查看详情

pythonqtgui设计:qpainterqpenqbrush和qpixmap窗口绘图类(基础篇—17)(代码片段)

目录1、QPainter绘图类2、QPen绘图类3、QBrush绘图类4、QPixmap绘图类本篇博文主要介绍如何实现在窗口中绘图,在PyQt5中,一般可以通过QPainter、QPen、QBrush和QPixmap这四个类来实现绘图功能。其中,QPixmap的作用是加载并呈现... 查看详情

pythonqtgui设计:qprinter打印图片类(基础篇—21)(代码片段)

打印图像是图像处理软件中的一个常用功能,打印图像实际上是在QPaintDevice中画图,与平常在QWidget、QPixmap和Qlmage中画图一样,都是创建一个QPainter对象进行画图的,只是打印使用的是QPrinter,它本质上也是一... 查看详情

pythonqtgui设计:qspinbox计数器类(基础篇—15)(代码片段)

QSpinBox是一个计数器控件,允许用户选择一个整数值,通过单击向上/向下按钮或按键盘上的上/下箭头来增加/减少当前显示的值,当然用户也可以输入值。在默认情况下,QSpinBox的取值范围是0~99,每次改... 查看详情

pythonqtgui设计:qspinbox计数器类(基础篇—15)(代码片段)

QSpinBox是一个计数器控件,允许用户选择一个整数值,通过单击向上/向下按钮或按键盘上的上/下箭头来增加/减少当前显示的值,当然用户也可以输入值。在默认情况下,QSpinBox的取值范围是0~99,每次改... 查看详情

java基础考核(代码片段)

Java基础考核基础考核篇1.抽象类、接口、普通类的区别?2.异常机制如何实现?异常体系图异常类的种类异常的处理3.对泛型的理解大家好呀,我是小笙!基础考核篇1.抽象类、接口、普通类的区别?我们以普... 查看详情