django类视图的实现

Python Django 大量数据如何做分页处理 当一个表中有很多符合查询条件的数据的时候,我们往往不需要把他们全部一次性取出来,那样对查询效率或者服务器性能来说都会是一个极大的挑战:例如最简单的商城,假设商城中有一万个数据,但我们在前端可能只会每次看到一页.该查询同样是通过子查询扫描字段id, 因为它不需要进行表的关联,而是一个简单的比较,在不知道上一页最大id的情况下,是比较推荐的用法。当然该查询的问题也在于,如果最大id不是连续的,则我们不一定能拿到这个id,比如当前在第3页,需要查询第5页的数据,就不行了。一个经典的思想就是分批展示和处理它们。 阅读详情

目录

一、resetful设计思路

二、视图类的优点

三、使用视图类的步骤

1.导入视图类的基类

2.继承重写需要的http方法   get  post  delete  head  put.....

3.在urls.py当中指出as_view


一、resetful设计思路

resetful接口开发的思路,前后端分离,这样网站可以接收非浏览器用户的访问,对于大规模批量的操作,有很好的效果

resetful要求不可以带动词

比如说:

addStudent   delStudent  都不可以

优化网站的思路:

前后分离前后端分离
动静分离数据库优化
读写分离 

 

二、视图类的优点

(1)视图类方便继承重写

(2)视图类更加直观

(3)视图类更加符合resetful设计思路

三、使用视图类的步骤

1.导入视图类的基类

from django.views import View

2.继承重写需要的http方法   get  post  delete  head  put.....

重写的是View类

打来View的源码,发现http的方法有很多种

在Student app下的views.py下写视图类:

from django.views import View
class StudentView(View):
    def __init__(self,**kwargs):
        super(StudentView).__init__(**kwargs)
        self.student=Student.objects.all()
    def get(self,request):
        """
        处理get请求
        :param request:
        :return:
        """
        return JsonResponse({"data":"this is get method"})
    def post(self,request):
        """
        处理post请求
        :param request:
        :return:
        """
        return JsonResponse({"data":"this is post method"})
    def put(self,request):
        """
        处理get请求
        :param request:
        :return:
        """
        return JsonResponse({"data":"this is put method"})
    def delete(self,request):
        """
        delete
        :param request:
        :return:
        """
        return JsonResponse({"data":"this is delete method"})

class TeacherView(StudentView):
    pass

3.在urls.py当中指出as_view

from Student.views import StudentView
urlpatterns=[
    path('stu/',StudentView.as_view),
    
]

启动服务器

请求界面,所以会返回get方法

最全的 “Django“ 类视图 APIView GenericAPIView Mixin 快速实现增删改查 APIView (一级类视图) 1.创建模型类 #部门表 class Dept(models.Model): name = models.CharField(max_length=30) t_number = models.IntegerField() def __str__(self): return self.name class Meta: db_table='dept' #生成迁移文件 python manage. 阅读详情

相关推荐

Saturn PCB Toolkit V8.02 实战:5分钟完成10A电源路径的走线与过孔通流验证

本文详细介绍了如何使用Saturn PCB Toolkit V8.02快速验证10A电源路径的走线与过孔通流能力。通过实战案例和参数配置指南,帮助工程师解决大电流PCB设计中的温升失控、过孔瓶颈等核心挑战,提升设计效率和可靠性。

weixin_34194829的博客 451

Django 之 Views

Django之views细节

落枫驿站 2280

Zabbix华为交换机光衰告警

zabbix使用自动发现监控huawei网络设备光衰

qq_31651649的博客 4529

Python Django CBV下的通用视图函数

ListView TemplateView DetailView 之前的代码实例基本上都是基于FBV的模式来撰写的,好处么,当然就是简单粗暴。。正如: def index(request): return HttpResponse('hello world') 上面的写法,基本接触不到视图函数里面的通用视图。只是在介绍CBV的时候稍微介绍了下引用,大概用法。 ...

weixin_30578677的博客 223

CVAT实战:从零搭建高效数据标注流水线

本文详细介绍了如何使用CVAT搭建高效的数据标注流水线,从环境部署到团队协作,再到数据流转和质量把控,全面覆盖了数据标注的各个环节。CVAT作为一款开源的数据标注工具,支持多人协作和丰富的标注类型,特别适合遥感图像等复杂场景的标注需求。通过实战案例和技巧分享,帮助读者快速掌握CVAT的核心功能,提升标注效率。

weixin_30555125的博客 398

RK3588平台开发系列讲解(DMA篇)DMA engine使用

Linux 内核的 DMA 引擎提供了一组完整的接口,用于申请和释放 DMA 通道、准备 DMA 描述符、启动和控制 DMA 传输,以及同步和管理缓存。通过这些接口,内核能够高效地处理异步的 DMA 传输任务,减少 CPU 的干预,提高数据传输的效率。

内核笔记 1834

Django个人博客开发之高级优化路由、视图

我们之前已经完成了项目的结构搭建,但是,在Django当中,我们强调的一个重要概念是app,比如Django自带的admin就是一个成功的app典范,那么我们应该如何整理自己的项目结构,才能让我们的app真正的独立出来,我们以之前的OurBlog项目为例: 为了项目的可迁移性,我们将静态文件和模板文件的目录创建到APP的目录下,在app外部,也就是我们项目的根目录下,我们创建一个空的静态文件目录:...

ALLENsakaru的博客 468

Python之afdx包语法、参数和实际应用案例

Python 的 afdx 包是针对 AFDX 协议的轻量级开发工具,专注于 AFDX 数据帧的解析、构造、发送/接收、协议合规性校验等核心能力,广泛应用于航空电子设备测试、仿真、数据监控等场景。

王国平的博客 982

<转>将Django models 和views拆分程多个文件

原文链接:http://cutso.blog.sohu.com/149064383.html  大多数Django教程都是将models放在models.py文件(模块)中, 然而随着models类的增加, 将类放在一个文件中太混乱了, 于是将models做成一个package:  models/      __init__.py      usermodels.py

5267

DO-254标准详解:航空电子硬件设计保证指南全方位解析

RTCA DO-254, 也被称为《机载电子硬件设计保证指南》,是航空电子硬件设计和验证中的关键标准,旨在为确保机载电子硬件的安全性提供设计保证。自2000年首次发布以来,DO-254就成为了民航和军用飞机中电子硬件设计认证的基准文件。随着航空硬件技术的进步和日益复杂化,确保硬件设计的准确性、可靠性和安全性变得至关重要。本标准是由RTCA和EUROCAE共同开发的,适用于涉及机载硬件的航空公司、飞机制造商、供应商和认证机构。

qq_41854911的博客 3682

Android PMS——概述(一)

PMS(Package Manager Service)是 Android 操作系统的一个重要组件,它负责管理应用程序的包信息以及与应用程序的安装、卸载、权限控制等相关功能,确保应用程序的安全性和稳定性。 Android PMS 负责维护一个应用程序包的清单信息,该清单是一个 XML 文件,包含应用程序的各种元数据,例如应用程序的包名、版本号、权限要求、组件信息等。PMS通过访问该清单文件来获取应用程序的信息。 此外,Android PMS 还负责应用程序的安装和卸载。在安装应用

小旭的专栏 1667

在DJANGO的类视图中实现登陆要求和权限保护

在DJANGO的类视图中实现登陆要求和权限保护 以前接触的是基于函数的保护,网上材料比较多。 但基于类视图的很少。 补上! Decorating class-based views 装饰类视图 对于类视图的扩展并不局限于使用mixin。你也可以使用装饰器。 Decorating in URLconf URLconf中的装饰器 最简单的装饰类视图的方式是装饰 as_view() 方法返回的结果。最容...

weixin_43929526的博客 517

Python 控制 Keysight N9010B/N9020/N9030 频谱仪

为什么要实现频谱仪的控制呢?起因是因为我司RF的同事们需要对通信模块进行GSM的带内杂散进行测试,由于该测试的频点涉及900多个,所以急需开发一款自动化测试工具。该工具需同时实现对无线通讯仪和频谱仪的控制,这篇文章主要介绍一下频谱仪的控制!做通信的应该对频谱仪都不陌生,不过我之前做的都是软件相关行业,所以我对频谱仪其实还是很陌生的;不过好在我的同时们都很热心,加上仪器的文档,一段时间下来,也算是熟悉了一些。

xgh1951的博客 1万+

Django基于类视图实现增删改查

Django基于类视图实现增删改查,区别于drf框架

weixin_65784341的博客 860

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

[Django]类视图继承关系及实现功能

【代码】[Django]类视图继承关系及实现功能。

weixin_42577503的博客 595

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Django中类视图的简单实现--以及类视图的原理

在类视图之前我们先定义一个函数视图来做对比 如果单以函数的方式定义的视图我们称为视图函数,函数视图主要便于我们理解.但遇到一个视图对应的路由(urls)提供了多种不同的HTTP请求方式的支持时,我们需要在一个函数中编写不同的业务逻辑,代码可读性和复用性就不好了 我先来定义一个函数视图来实现多个请求方式 在这里我的子应用是users,我在users的views.py文件中实现以下代码: ######...

AI_GG的博客 894

Django中类视图的几实现方式

类视图 以函数的方式定义的视图称为函数视图,函数视图便于理解。但是遇到一个视图对应的路径提供了多种不同HTTP请求方式的支持时,便需要在一个函数中编写不同的业务逻辑,代码可读性与复用性都不佳。 在Django中也可以使用类来定义一个视图,称为类视图。使用类视图可以将视图对应的不同请求方式以类中的不同方法来区别定义。 方式一 def my_decorator(func): """自定义的...

weixin_43250623的博客 1189

django2.0记录 使用登录装饰器实现访问限制及类视图使用装饰器

django2.0记录 使用登录装饰器实现访问限制及类视图使用装饰器背景介绍目的实现思路前端代码后端实现代码django为类视图添加登录装饰器的方法第一种:直接在url上下手。第二种:使用method_decorator装饰器说明:第三种:利用继承关系,实现在调用执行视图函数前调用login__required() 背景介绍 python3环境,前后端不分离,前端使用bootstrap2框架,后端使用django2.0框架,包含登录前端代码以及后端实现,只是个人日常记录,仅供参考 目的 访问未登录的视图函数

Hongfei_ma的博客 691

django 密码重置 html邮件,Django通用类视图实现忘记密码重置密码功能示例

前言在Django中有大量的通用类视图,例如ListView,DetailView,CreateView,UpdateView等等,将所有重复的增删改查代码抽象成一个通用类,只需要配置极少量的代码即可实现功能。使用通用类视图完成找回密码功能首先引入from django.contrib.auth.views import PasswordResetView, PasswordResetConfir...

weixin_40001309的博客 361

可重置密码的html表单代码,Django通用类视图实现忘记密码重置密码功能示例

前言在Django中有大量的通用类视图,例如ListView,DetailView,CreateView,UpdateView等等,将所有重复的增删改查代码抽象成一个通用类,只需要配置极少量的代码即可实现功能。使用通用类视图完成找回密码功能首先引入from django.contrib.auth.views import PasswordResetView, PasswordResetConfir...

weixin_36328839的博客 1120

django实现views中的变量传递给其他函数_Django 官方推荐的姿势:类视图

作者:HelloGitHub-追梦人物[1]文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库[2]点击本文最下方的“阅读原文”即可获取在开发网站的过程中,有一些视图函数虽然处理的对象不同,但是其大致的代码逻辑是一样的。比如一个博客和一个论坛,通常其首页都是展示一系列的文章列表或者帖子列表。对处理首页的视图函数来说,虽然其处理的对象一个是文章,另一个是帖子,但是其...

weixin_39765209的博客 918

每天40分玩转Django:Django类视图

2.2 URL配置 三、通用类视图实现 3.1 列表视图和详情视图 3.2 创建和编辑视图 四、Mixin机制实现 五、类视图流程图 6.2 表单处理视图 七、类视图最佳实践 视图分组和组织 通用功能抽象 权限控制 八、测试类视图 通过本章学习,你应该能够:怎么样今天的内容还满意吗?再次感谢朋友们的观看,关注GZH:凡人的AI工具箱,回复666,送您价值199的AI大礼包。最后,祝您早日实现财务自由,还请给个赞,谢谢!

weixin_40780178的博客 903

【django】类视图

以函数的⽅式定义的视图称为函数视图,函数视图便于理解。但是遇到⼀个视图对应的路径提供了多种不同HTTP请求⽅式的⽀持时,便需要在⼀个函数中编写不同的业务逻辑,代码可读性与复⽤性都不佳。 一、类视图使⽤ 在Django中也可以使⽤类来定义⼀个视图,称为类视图。 使⽤类视图可以将视图对应的不同请求⽅式以类中的不同⽅法来区别定义。如下所示 主路由: urlpatterns = [ path('admin/', admin.site.urls), path('film/',include('film

python全栈 1171

django:类视图是什么

在同一个页面使用多个表单有两种情况: 同一个页面有多个不同的表单 同一个页面有多个相同的表单 第一种情况还是比较好处理。尽管不同表单有不同的定义内容,但只需要各自实例化就行。 针对第二种情况,django提供了一个表单属性prefix设置表单前缀,根据这个前缀区别相同定义的表单: >>> mother = PersonForm(prefix="mother") >>> father = PersonForm(prefix="father") >>>

dangfulin的博客 2819
上一篇: django项目整合
下一篇: django自定义标签
一个回和
博客等级 码龄8年 150粉丝 206原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值