首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Python进阶42-drf框架(四)

三大认证准备工作 三大认证介绍 权限六表分析 六表数据测试 认证组件 自定义认证类 权限组件 自定义权限类 频率组件 自定义频率类 -曾老湿, 江湖人称曾老大。...# 路由分发 url(r'^api/', include('api.urls')), ] ---- 设置Media及路由 MEDIA_URL = '/media/' MEDIA_ROOT....权限表 4.用户角色关联表 5.角色权限关联表 Django六表规则: 1.用户表 2.角色表 3.权限表 4.用户角色关联表 5.角色权限关联表 6.用户权限关联表 ---- 自定义权限六表...settings.py ## 配置自定义user表 AUTH_USER_MODEL = 'api.User' models.py from django.db import models ## 用户表...在api目录下创建authentications.py文件 ## 自定义认证类 # 1.继承BaseAuthentication # 2.重写authenticate(self,request)方法

1.6K20

drf框架中所有视图及用法

自带的views进行相关方法的分装 二.viewsets视图集 ViewSetMixin:视图集工具 - 重写as_view - 将 请求方式 映射到视图类中的 指定方法 我们在路由中 类名.as_view...({'get': 'retrieve', 'delete': 'remove_obj'}) GenericViewSet:与模型类有关的接口视图集 - 可以从mixins那继承功能,也可以自定义功能 ViewSet...:与模型类无关或不是标准模型类接口 - 一般都是自定义功能 三.generics中GenericAPIView使用 将 queryset 和 serializer_class 封装成类属性,提供了三个方法...self.get_serializer(*args, **kwargs):获取指定 常用的几个参数 data:用于返序列化传参 many:获取多个序列化对象 instance:如果有后面save执行更新方法,没有执行创建方法...serializers.BookModelSerializer 其实再之前的基础再进行方法的分装 居然有什么方法看源码即可ctrl+左键看源码 六自定制视图 本来get他就只会找类中get方法我们可以对其设置让他找我们对于的名称 路由

1.8K30

Django Rest Framework 视图(下)

Django Rest Framework 视图(上) ?...一、ModelViewSet ① 源码分析 ModelViewSet 做的更彻底,它又一次继承了 GenericViewSet,并且在此之前又继承了其它几个类,因此功能更多,变成了 ModelViewSet...从这些类的名字可以大概看出, CreateModelMixin RetrieveModelMixin UpdateModelMixin DestroyModelMixin ListModelMixin 分别对应,创建...② 路由 ? 由于在获取,删除,更新数据的时候需要这项数据的唯一标识,这里是 pk 主键,因此需要在 url 中增加正则匹配。...④ 自定义 在 ModelViewSet 中,继承了多个 mixin 类,而这些类又分别封装了不同的对应于增删改查的方法,因此如果想要自定义一个接口,实现部分 http 方法,就可以根据需要继承不同的

56420

Django-DRF】md笔记第6篇:Django-DRF的视图、认证、分页和其他功能详解

本文从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实现一个REST API为例,明确后端开发REST API要做的最核心工作,然后介绍Django...使用视图集ViewSet,可以将一系列逻辑相关的动作放到一个类中:list() 提供一组数据retrieve() 提供单个数据create() 创建数据update() 保存数据destory() 删除数据...视图集中定义附加action动作在视图集中,除了上述默认的方法动作外,还可以添加自定义动作。...视图集中附加action的声明在视图集中,如果想要让Router自动帮助我们为自定义的动作生成路由信息,需要使用rest_framework.decorators.action装饰器。...'], detail=True) def read(self, request, pk): """ 修改图书的阅读量数据 """ ...由路由器自动为此视图集自定义

18810

Django+Vue开发生鲜电商平台之5.使用DRF实现商品列表页和过滤

HttpResponse(json.dumps(json_list, ensure_ascii=False), content_type='application/json') urls.py中加入路由如下...2.serializer序列化model 使用Django自带的model_to_dict()方法可以实现直接将模型数据转化为字典形式,但是对于DateTimeField、ImageField等字段时还是无法序列化...还支持定义自己的自定义解析器,这使您可以灵活地设计API接受的媒体类型。...此时,可以根据字段进行过滤,但是只能精确比配,对于字符串型字段不能模糊匹配,对于数值型字段也不能匹配区间,因此需要自定义filters,新建filters.py如下: import django_filters...除此之外,还可以自定义过滤的方法来满足个性化的需求。 搜索的使用 DRF的SearchFilter类基于Django-admin的搜索功能,支持简单的基于单个查询参数的搜索。

5.3K20

DRF-认证权限频率

目录 DRF-认证权限频率 认证 登录接口 认证 权限 作用 使用 频率 作用 使用 认证权限频率+五个接口 模型 视图 序列化器 认证权限频率类 配置文件 路由 DRF-认证权限频率 前后端混合开发...我们通过登录接口,来模拟认证登录,登录成功返回json字符串,并且携带随机字符串(uuid模拟生成token),通过token随机字符串来判断用户是否登录,登录了就更新token,首次登录就存token; 分析 创建...User表 创建UserToken表,和User一对一关系 前端传入用户名,密码 数据库取校验用户信息 校验成功,Token表内新增一条记录,返回给前端json格式字符串,字符串中带一个随机字符串 登录接口...from django.contrib import admin from django.urls import path,include from app01 import views from rest_framework.routers...全局配置频率类 'app01.auth.IPThrottle' ), } 总结 写一个类,继承SimpleRateThrottle,重写类属性scope,scope值自定义

57310

第 5 篇:用视图集,简化你的代码

视图集也有 2 个基类:ViewSet 和 GenericViewSet,前者是最基本的视图集类,后者拓展自前者,拓展了很多 Web 开发中的通用逻辑。...django-rest-framework 提供了资源操作的 5 个混入类,分别对应资源的创建、查询、更新、删除。...好了,视图集已经创建完毕,接下来我们从视图集生成视图函数,并绑定 URL。...在 django 的 URL 中,一条路由通常由 URL 模式,对应的视图函数和视图函数名组成。视图函数名的作用主要用于解析视图函数所对应的 URL。...运行开发服务器,访问 http://127.0.0.1:8000/api/,界面如下: django-rest-framework 为我们自动生成了 API 交互后台,在这个界面中可以和我们创建的 API

79410

Python进阶41-drf框架(三)

-开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。...访问视图类传递过来的内容 # 需求: # 1) 在视图类中,可以通过request得到登陆用户request.user # 2) 在序列化类中,要完成数据库数据的校验与入库操作,可能会需要知道当前的登陆用户,但序列化类无法访问... ---- 路由 from django.conf.urls import url from . import views urlpatterns = [ url(r'^v1/books...因为别人帮我们干了... mixins视图六大工具类 ---- 路由 from django.conf.urls import url from . import views urlpatterns...def get(self, request, *args, **kwargs): return self.list(request, *args, **kwargs)  ---- 使用自定义

45120

Flask框架在Python面试中的应用与实战

Django REST framework (DRF) 是一个强大而灵活的工具包,用于构建Web API,特别是基于Django的应用程序。...一、常见面试问题核心组件与工作流程视图(Views):解释视图在DRF中的作用,介绍基于类的视图(ViewSet、GenericViewSet)与视图集(ViewSets)的概念,以及如何关联到URL。...路由与URL配置路由器(Router):说明路由器如何根据ViewSet自动创建API路由,以及如何自定义路由命名和视图动作。...二、易错点与避免策略序列化器验证遗漏:确保在序列化器中充分定义验证规则,使用validate_方法对关联字段、自定义逻辑进行验证,防止脏数据进入数据库。...对于复杂查询,考虑使用Django ORM的查询优化技巧或添加数据库索引。

8910

Vue+Django2.0 REST framework 打造前后端分离的生鲜电商项目(五)商品列表页

good.market_price 23 # json_list.append(json_dict) 24 25 # 改进方案,但是ImageFieldFile无法进行序列化...import JsonResponse 39 return JsonResponse(json_data,safe=False) 2.在urls.py设置路由 1 from django.urls...是一个bug导致的这个报错: 首先,我们的UserProfile表继承的django/admin自动创建的用户表AbstractUser, 然后,我们在UserProfile表中用__str__返回的是...pagination_class = GoodsPagination 重启项目,访问:http://127.0.0.1:8000/goods 即可看到分页效果 3.最重要的viewsets和router(路由器...2.自定义过滤器 在settings.py中注册django_filter,在末尾配置过滤 1 INSTALLED_APPS = [ 2 ..... 3 'django_filters

4.7K61

第 9 篇:实现分类、标签、归档日期接口

事实上,我们在上一部教程 HelloDjango - Django博客教程(第二版)的 页面侧边栏:使用自定义模板标签 已经讲解了如何获取归档日期列表,只是当时返回的归档日期列表直接用于模板的渲染,而这里我们需要将归档日期列表序列化后通过...一是 action 装饰器,它用来装饰一个视图集中的方法,被装饰的方法会被 django-rest-framework 的路由自动注册为一个 API 接口。...视图集中所有以上提及的以标准动作命名的方法,都会被 django-rest-framework 的路由自动注册为标准的 API 接口。...由于 PostViewSet 视图集已经通过 django-rest-framework 的路由进行了注册,因此 list_archive_dates 也会被连带着自动注册为一个接口。...首先在 blog 应用下创建一个 filters.py 文件,用于存放自定义 filter 的代码,PostFilter 代码如下: from django_filters import rest_framework

2.6K30
领券