重点内容回顾-DRF 1. on_delete on_delete是定义模型类中外键的一个选项。 on_delete选项指明的是主表删除数据的时候,对于外键引用的表数据如何处理。...b.PROTECT保护,通过抛出一个异常ProtectedError异常,来阻止删除主表中被外键引用的数据。...c.SET_NULL设置为 NULL,代表的是主表删除数据的时候,将外键关联的表数据设置为NULL。仅仅在该字段null=True,允许为null时可用。...2. related_name related_name是在定义模型类时,外键的一个选项。它的功能下面慢慢给大家分析一下。...团队开发注意事项 浅谈密码加密 Django框架中的英文单词 Django中数据库的相关操作 DRF框架中的英文单词
而在Python领域,Django框架提供了强大的REST框架,为开发者提供了一种高效、灵活的方式来构建和管理API。...本文将深入探讨Django中REST框架的使用,并通过代码实例和解析来展示其强大之处。1. 什么是REST框架?...Django REST框架提供了内置的缓存支持,并且可以与Django的缓存框架无缝集成,使我们能够轻松地实现缓存功能。...例如,我们可以使用适当的缓存键(cache key)来确保缓存的唯一性,避免缓存雪崩和缓存击穿等问题。...首先,我们学习了如何使用Django REST框架来创建简单的API端点,包括定义模型、序列化器、视图集以及路由配置等。
在 Django REST Framework 中,视图集(Viewset)是一种简化了视图函数(View Function)的开发方式,它可以让开发者更快速、更方便地创建 RESTful API。...视图集的基本用法在 Django REST Framework 中,视图集是一个处理 HTTP 请求的类,它封装了一组相关的视图函数,包括列表视图(List View)、详情视图(Detail View...使用视图集,我们可以将这些相关的视图函数封装在同一个类中,以便更好地组织和管理代码。要创建一个视图集,我们需要先定义一个视图集类,并指定其对应的模型和序列化器类。...例如,我们可以定义一个名为 BookViewSet 的视图集类,它对应的模型是 Book,对应的序列化器是 BookSerializer:from rest_framework import viewsetsfrom...除了基本的 CRUD 操作外,视图集还支持其他一些常用的操作,例如搜索、排序、过滤、分页等。在下面的章节中,我们将详细介绍如何使用视图集进行这些操作。
3.DRF框架 作用:大大提高RestAPI接口开发效率 简介: Django REST framework 框架是一个用于构建Web API 的强大而又灵活的工具。...通常简称为DRF框架 或 REST framework。 DRF框架是建立在Django框架基础之上,由Tom Christie大牛二次开发的开源项目。...Django框架学习中创建的demo工程,在settings.py的INSTALLED_APPS中添加’rest_framework’。...3.2见识DRF的魅力 我们仍以在学习Django框架时使用的图书英雄为案例,使用Django REST framework快速实现图书的REST API。 3.2.1....4.4序列化的定义 Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。
Django REST Framework(以下简称DRF)是基于Django框架构建的Web API框架。...(1)基于视图集在DRF中,视图集是一组视图函数的集合,可以实现类似于CRUD的操作。...例如,下面的代码定义了一个继承自ModelViewSet的视图集类BookViewSet,然后将这个类注册到路由器中:from rest_framework import viewsetsfrom .models...例如,下面的代码定义了一个继承自APIView的视图类HelloView,然后将这个类注册到路由器中:from rest_framework.views import APIViewfrom rest_framework.response...)),]这个例子中,我们将路由器的URL添加到了Django的根URLconf中。
[官方文档中也叫action,动作]之间的对应关系外,还可以使用Routers来帮助我们自动生成路由信息。...REST framework提供了两个router SimpleRouter DefaultRouter 1.SimpleRouter 1.1 基本使用 from rest_framework import...请注意,如果视图集不包含属性,则必须在注册视图集时进行设置。...例如: router = SimpleRouter(trailing_slash=False) 尾随斜杠在 Django 中是约定俗成的,但在其他一些框架(如 Rails)中默认不使用。...你选择使用哪种风格很大程度上取决于你的偏好,尽管一些javascript框架可能会期望特定的路由风格。 路由器将匹配包含除斜杠和句点字符之外的任何字符的查找值。
,所以我们可以直接利用已有的Django环境而无需从新创建。...(若没有Django环境,需要先创建环境安装Django) 1. 安装DRF pip install djangorestframework ? 2....添加rest_framework应用 我们利用在Django框架学习中创建的demo工程,在settings.py的INSTALLED_APPS中添加'rest_framework'。 ?...编写视图 在booktest应用的views.py中创建视图BookInfoViewSet,这是一个视图集合。...至此,是不是发现Django REST framework很好用!
里面的内容为 from django.contrib.auth.models import User, Group # 在虚拟环境下要安装rest_framework这个框架 from rest_framework...UserViewSet也是命名规范,记住就可以,ModelViewSet是父类 ViewSet是 视图集合 class UserViewSet(viewsets.ModelViewSet): “...import url, include from django.contrib import admin from rest_framework import routers 导入框架的路由模块...')), ] 记住: 必须在url里面创建router对象并且引用之后,才会出现rest框架的页面,因为这个对象是rest框架里面的类创建的对象 from rest_framework import...routers 导入框架的路由模块 不然页面还是django的页面。
Django REST框架构建Web API。...Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。...from rest_framework import viewsets 一、使用视图集 ViewSet,可以将一系列逻辑相关的动作放到一个类中: list() 提供一组数据 retrieve() 提供单个数据...create() 创建数据 update() 更新保存数据 destory() 删除数据 二、ViewSet 视图集类不再实现get()、post()等方法,而是实现动作 action,如 list(...P\d+)/$', BookViewSet.as_view({'get': 'retrieve'}), ] 三、action 属性 在视图集中, 可以通过 action 对象属性来获取当前请求视图集的
Django REST框架构建Web API。...在Django REST Framework中内置的Request类扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等。...比如,区别于Django中的request从request.GET中获取URL参数,从request.POST中取某些情况下的POST数据。...`、`RetrieveModelMixin`、`CreateModelMixin`、`UpdateModelMixin`、`DestroyModelMixin`等; # 按Model分别写视图集合...,一个Model一个视图集合。
Django REST框架构建Web API。...from django.views import View from rest_framework import views, generics, mixins, viewsets REST framework...传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。...一、DRF 框架所有视图类 最基础:django 自带的 views 类 DRF 框架最基础的视图类:views.APIView DRF 框架中工具视图:generics GenericAPIView...UpdateModelMixin:update 单整体修改 UpdateModelMixin:partial_update 单局部修改 DestroyModelMixin:destroy 单删 viewsets 视图集
DRF框架学习(四) 1.视图集对象的action属性 作用: 获取现在要执行的是哪一种操作。 self.action:是字符串类型,目的是获取所有执行的操作。...,动态生成视图集中处理函数的url配置项。...认证需要配合权限来使用 4.1使用 DRF框架的默认全局认证方案如下,可对其进行修改,比如注释掉基本认证: REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES...pass 7.过滤 对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展来增强支持。...'django_filters', # 需要注册应用, ] # 过滤 REST_FRAMEWORK = { 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend
import path, re_path from collect import views urlpatterns = [ # 不要在同一个路由的as_view中书写两个同样的键的http请求...""" # 路由类默认只会给视图集中的基本5个API生成地址[ 获取一条,获取多条,添加.删除,修改数据 ] from rest_framework.routers import DefaultRouter...views.py """ViewSet视图集,继承于APIView,所以APIView有的功能,它都有,APIView没有的功能,它也没有""" from rest_framework.viewsets...'django_filters', # 需要注册应用, ] REST_FRAMEWORK = { ......'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',) } 在视图中添加filter_fields
以Django提供表单(Form)类和模型表单(ModelForm)类相同的方式,REST 框架包括了实例化(Serializer)类和模型实例化(ModelSerializer)类。...用我们的序列化来写常规的Django视图 让我们看看,使用我们新的序列化类,我们怎么写一些API视图。此刻,我们不会使用REST框架的其他特性,仅仅像写常规Django视图一样。...相似地,虽然我们可以在响应对象中带数据,但允许REST框架渲染响应成正确的内容类型。...REST框架支持以上所有方式,都能适应正向或者反向关系,或者就行使用一般的外键一样使用自定义的管理方式。 这种情况下,我们想要在实体之间使用超链接方式。...视图集(ViewSets)和路由(Routers) REST框架包括对ViewSets的简短描述,这可以让开发者把精力集中在构建状态和交互的API模型,而且它可以基于一般规范自动构建URL。
action属性 DRF 视图组件 DRF框架提供了很多通用的视图基类与扩展类,上篇使用的APIView是比较偏Base的,视图的使用更加简化了代码,这里介绍一下其他视图的用法 Django...REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验、保存、转换数据) 控制数据库查询的执行 先来看看这其中的人情世故:两个视图基本类,五个扩展类,九个视图子类,视图集方法,视图集...路由导入:from rest_framework.routers import SimpleRouter,DefaultRouter 基于ViewSet视图集写,需要我们配置路由 两种不同的路由...import admin from django.urls import path, include from rest_framework.routers import SimpleRouter...As_view ({'get': 'list', 'post': 'create'}) 总结 补充 视图集中定义附加action动作 在视图集中,除了上述默认的方法动作外,还可以添加自定义动作。
文章目录 一、DRF简介 二、DRF的特点 三、DRF增删改查 一、DRF简介 Django REST framework框架是一个用于构建WebAPl的强大而又灵活的工具。...通常简称为DRF框架或REST framework。 DRF框架是建立在Django框架基础之上,由Tom Christie大牛二次开发的开源项目。...官方文档 : https://www.django-rest-framework.org/ GitHub : https://github.com/encode/django-rest-framework...丰富的定制层级:函数视图、类视图、视图集合到自动生成API,满足各种需要。 多种身份认证和权限认证方式的支持。 内置了限流系统。 直观的APIweb界面。 可扩展性,插件丰富....REST framework可以帮助我们简化上述两部分的代码编写,大大提高RESTAPI的开发速度。
但是我们学习 django-rest-framework 不仅仅是为了写博客,也许你在工作中,面对的是流量非常大的系统,这时候缓存就不可或缺。...配置缓存 django 为我们提供了一套开箱即用的缓存框架,缓存框架对缓存的操作做了抽象,提供了统一的读写缓存的接口。...drf-extensions Cache django 的缓存框架比较底层,drf-extensions 在 django 缓存框架的基础上,针对 django-rest-framework 封装了更多缓存相关的辅助函数和类...我们需要用到的主要有这些: KeyConstructor 可以理解为缓存键生成类。...cache_response 装饰器 这个装饰器用来装饰 django-rest-framework 的视图(单个视图函数、视图集中的 action 等),被装饰的视图将具备缓存功能。
django 单元测试框架的使用方式。...这里我们再对 djnago 的测试框架做一个回顾整体回顾,至于如何编写和运行测试,后面将会进行详细的讲解,如果想对 django 的单元测试做更基础的了解,推荐回去看看关于测试的 3 篇教程以及 django...下面是 djnago 单元测试框架的一些要点: django 的单元测试框架基于 Python 的 unittest 测试框架。...django 提供了多个 XXTestCase 类,这些类均直接或者间接继承自 unittest.TestCase 类,因为 django 的单元测试框架是基于 unittest 的,所以编写的测试用例类也都需要直接或者间接继承...apps from django.contrib.auth.models import User from rest_framework import status from rest_framework.reverse
0909自我总结 drf框架中所有视图及用法 一.drf框架中的所有视图类 from django.views import View from rest_framework import views,...generics, mixins, viewsets 最基础:django自带的views类 drf框架中最基础的视图类:views.APIView drf框架中工具视图:generics GenericAPIView...UpdateModelMixin:update 单整体改 UpdateModelMixin: partial_update 单局部改 DestroyModelMixin:destroy 单删 viewsets视图集...上述视图都是基于django自带的views进行相关方法的分装 二.viewsets视图集 ViewSetMixin:视图集工具 - 重写as_view - 将 请求方式 映射到视图类中的 指定方法...我们在路由中 类名.as_view({'get': 'retrieve', 'delete': 'remove_obj'}) GenericViewSet:与模型类有关的接口视图集 - 可以从mixins
⭐今天教大家使用 Django Rest FrameWork 自动生成Restful风格的增删改查代码和接口文档!...⭐参考文章:首页 - Django REST 框架 (django-rest-framework.org)(官方文档)注意:Django Rest FrameWork 是在Django框架下使用以下内容需要先创建一个...Django项目什么是Restful风格:RESTful API 一种流行的 API 设计风格安装依赖安装Rest FrameWork 需要满足以下条件:Python (3.6, 3.7, 3.8, 3.9...]router = DefaultRouter() # 可以处理视图的路由器router.register('students', views.StudentViewSet) # 向路由器中注册视图集...(之后的文章会介绍到)⭐以上内容只是快速的配置 全面API请查阅官方文档:首页 - Django REST 框架 (django-rest-framework.org)⭐如果对你有帮助请给我点个赞吧
领取专属 10元无门槛券
手把手带您无忧上云