首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    DRF框架学习(四)

    使用场景: 重写 get_serializer_class和get_queryset,根据不同的操作返回不同的序列化器类和不同的查询集。...认证需要配合权限来使用 4.1使用 DRF框架的默认全局认证方案如下,可对其进行修改,比如注释掉基本认证: REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES...在执行视图的dispatch()方法前,会先进行视图访问权限的判断 在通过get_object()获取具体对象时,会进行对象访问权限的判断 DRF框架提供了四个权限控制类: AllowAny允许所有用户...6.1 使用 DRF框架默认没有进行全局限流设置,但是提供了配置项,我们可以在配置文件中,使用 DEFAULT_THROTTLE_CLASSES 和 DEFAULT_THROTTLE_RATES进行全局配置...pass 7.过滤 对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展来增强支持。

    3.7K40

    Django_rest框架电商项目实践项目(一篇文章讲清楚电商项目)项目的创建与基本的配置,所有接口的代码,项目代码已给

    目录 需求 创建一个Django项目 配置基础东西 连接mysql 使用Django_rest 解决跨域 建模(model里面写实体类) admin.py文件里面的创建 手动在后台管理系统里面添加相关数据...商品列表后台接口 序列器 view代码 url代码 实现分页(传limit offset) 实现根据字段进行排序和模糊搜索 商品分类查询 view代码 url代码 前端调用的书写 在分类查询的基础上面...还有收货地址模块 创建一个Django项目 用pycharm直接创建一个Django项目 配置基础东西 连接mysql 使用Django_rest 解决跨域 第一步 第二部 第三部...(self): # 这个就是rest框架的方法,不能变,就是定义查询的范围的,获取查询级 category=self.request.query_params.get('category...实现用户的登录 首先在setting里面进行配置,使用token进行登录 这个是rest框架自带 配置完成,进行生成数据库迁移 数据库里面会生成 就会多一个这个,配置文件里面,

    3.2K10

    从入门到精通Django REST Framework-(五)

    serializer = self.get_serializer(data=data) # ...响应数据的返回与 APIView 一样,使用 Response 对象返回响应:from rest_framework.response...:使用 queryset 属性:当查询集是固定的,不需要根据请求动态变化使用 get_queryset() 方法:当需要根据请求用户、查询参数等动态调整查询集2....# 在视图方法中使用def get(self, request): books = self.get_queryset() serializer = self.get_serializer(...: 提供 list() 方法,实现列表查询CreateModelMixin: 提供 create() 方法,实现创建对象RetrieveModelMixin: 提供 retrieve() 方法,实现获取单个对象...全面"分页列表页分页# views.pyfrom rest_framework.generics import GenericAPIViewfrom rest_framework.response import

    95910

    django-rest-framework框架学习

    在django中很著名的一个框架是django-rest-framework,帮我们减少了很多工作量,尤其在序列化与反序列化成我们需要的格式帮了我们省了很多事 在这里就记录一下个人的学习过程 django-rest-framework...api类,只需要继承rest_framework中generics中的某个类,重写我们需要的方法实现合适的逻辑即可 在urls.py中配置所需要的url 一组api的demo 创建一个model 在创建好的...请注意,使用超链接的API时,您需要确保双方的API意见和串行类设置查找字段,如果你需要使用一个自定义值 在get_queryset()中实现的是按照name查询的,因为很多时候客户端并不知道自己的id...P[a-zA-Z]+)/$', StudentDetail.as_view()), ] 分别配置好对列表和单个的url 然后运行项目就可以看到我们需要的数据 完整代码 在原来的基础上进行了扩展...,毕竟现在很多大牛说不使用外键,在应用中控制逻辑嘛 当然这里也可以使用models.ForeignKey,会让操作变得更简单的一点 serializers.py为: from rest_framework

    1.9K10

    DjangoRESTframework(补充)

    APIView与View的不同之处在于: 传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象; 视图方法可以返回REST framework...支持定义的属性: 列表视图与详情视图通用 queryset 列表视图的查询集 serializer_class 视图使用的序列化器 列表视图使用 pagination_class 分页控制类...,默认为 look_field相同 提供的方法: 列表视图与详情视图通用: get_queryset(self) 返回视图使用的查询集,是列表视图与详情视图获取数据的基础,默认返回queryset...,被其他视图或扩展类使用,如果我们在视图中想要获取序列化器对象,可以直接调用此方法。...注意,在提供序列化器对象的时候,REST framework会向对象的context属性补充三个数据:request、format、view,这三个数据对象可以在定义序列化器时使用。

    2.9K30

    DRF框架学习(三)

    功能: 1.视图中的request对象不再是Django中 HttpRequest类的对象,而是由DRF框架封装成的 Request类的对象。...2.响应时可以统一返回Response类的对象 3.异常处理:如果视图中抛出了未处理异常,DRF框架会自动对异常进行处理,并且会把处理之后的错误信息返回给客户端。...4.高级功能: 1)认证 2)权限 3)限流 Request类的对象: 1. request.data里面保存解析之后的请求体数据,并且已经解析成了字典或类字典,相当于包含了Django原始request...为了方便设置状态码,REST framewrok在 rest_framework.status模块中提供了常用状态码常量,我们直接使用即可。...数据库查询: a)属性: queryset(指定视图所使用的查询集) b)方法: get_queryset获取当前视图所使用的查询集。

    1.5K20

    RESTful源码笔记之RESTful Framework的APIview, Viewset总结分析

    0x00  引言 官方文档:http://www.django-rest-framework.org/ drf为我们提供强大的通用view的功能,本博客对这些view进行简要的总结分析。...0x01 django View 首先,我们使用django自带的view,获取一个课程的列表: # drf是通过json的格式进行数据交互的,所以这里也返回json数据 import json from...首先,我们思考一个问题,同样上面的例子,我们在功能上,要获取课程的列表,也要获取某个课程的具体信息。...只需要传回去所有课程的简要信息,如课程名字,老师,封面等等,但当获取课程的具体信息,我们还要将他们的章节以及相关下载资料(很明显,章节是另外一个model,有一个外键指向course),这些信息会很多,在获取课程列表...那么,还需要再定义一个CourseDetailSerializer,在get /courses/的时候,使用CourseSerializer,在get /courses/id/的时候,使用CourseDetailSerializer

    1.3K10

    重点内容回顾-DRF

    功能: 1.视图中request对象不再是Django中原始的HttpRequest类的对象,而是DRF框架封装的Request类的对象。...request.query_params保存解析之后的查询字符串的数据,并且已经解析成了字典或类字典,相当Django原始request对象中的request.GET 2.响应时可以统一返回Response...,DRF框架会自动对异常进行处理,并且会把处理之后的错误信息返回给客户端。...数据库查询 属性: queryset(指定视图所使用的查询集) 方法: get_queryset返回视图所使用的查询集 get_object从视图所使用的查询集中查询指定的对象,默认根据pk进行查询。...团队开发注意事项 浅谈密码加密 Django框架中的英文单词 Django中数据库的相关操作 DRF框架中的英文单词

    3.5K20

    Django Rest Framework

    REST框架提供的通用视图允许快速构建API观点紧密地映射到数据库模型,如果通用视图不适合的需要API, 可以使用常规APIView类,或重用mixin和基类使用的通用视图来组成自己的组可重用通用视图。...通用视图可以设置一些类属性在通用视图内,也可以根据特殊要写重写它的内部视图方法 使用.as_views()来转换成视图函数 url(r’^/users/’, ListCreateAPIView.as_view...1)属性 基本属性: queryset: 用于返回query对象集合,也可以使用get_queryset()方法。...lookup_field: 模型的字段应该用于执行对象查找个别的模型实例 lookup_url_kwarg:URL应该用于对象查找关键字参数 分页属性: pagination_class: 用于返回一个分页列表视图的分页类...’ filter_backends: 过滤queryset的类列表,和在settings中设置DEFAULT_FILTER_BACKENDS 一样 2)方法 基本方法: get_queryset():

    2.9K60

    Django REST framework+Vue 打造生鲜超市(四)

    五、商品列表页 5.1.django的view实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分django和django rest...都可以帮助我们做到 以上写了这么多只是为了引入django rest framework和简单介绍django的序列化用法,下面就是重点讲解django rest framework了 5.3.APIview...drf对象级别的权限支持 (2)配置def文档的url MxShop/urls.py from rest_framework.documentation import include_docs_urls...category只显示分类的id,Serialzer还可以嵌套使用,覆盖外键字段 # goods/serializers.py from rest_framework import serializers...ViewSets和Routers结合使用  MxShop/yrls.py from goods.views import GoodsListViewSet from rest_framework.routers

    5.1K91

    五、商品列表页

    5.1.django的view实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分django和django rest framework...import Goods class GoodsListView(View): def get(self,request): #通过django的view实现商品列表页...,images保存的是一个相对路径,我们还需要补全路径,而这些drf都可以帮助我们做到 以上写了这么多只是为了引入django rest framework和简单介绍django的序列化用法,下面就是重点讲解...django rest framework了 5.3.APIview方式实现商品列表页 (1)安装 pip install coreapi                         drf的文档支持...pip install django-guardian           drf对象级别的权限支持 (2)配置def文档的url MxShop/urls.py from rest_framework.documentation

    5.3K00

    django rest framework通用view

    官方文档:http://www.django-rest-framework.org/ drf为我们提供强大的通用view的功能,本博客对这些view进行简要的总结分析。...1. django View   首先,我们使用django自带的view,获取一个课程的列表: # drf是通过json的格式进行数据交互的,所以这里也返回json数据 import json from...首先,我们思考一个问题,同样上面的例子,我们在功能上,要获取课程的列表,也要获取某个课程的具体信息。...只需要传回去所有课程的简要信息,如课程名字,老师,封面等等,但当获取课程的具体信息,我们还要将他们的章节以及相关下载资料(很明显,章节是另外一个model,有一个外键指向course),这些信息会很多,在获取课程列表...那么,还需要再定义一个CourseDetailSerializer,在get /courses/的时候,使用CourseSerializer,在get /courses/id/的时候,使用CourseDetailSerializer

    1.3K20

    django 1.8 官方文档翻译: 2-5-1 管理器 (初稿)

    对象的列表。...例如,下面这个自定义的 管理器提供了一个 with_counts() 方法,它返回所有 OpinionPoll 对象的列表,而且列表中的每个对象都多了一个名为 num_responses的属性,这个属性保存一个聚合查询...使用管理器访问关联对象 默认情况下,在访问相关对象时(例如choice.poll),Django 并不使用相关对象的默认管理器,而是使用一个”朴素”管理器类的实例来访问。...解决办法就是在另一个基类中添加新的管理器,然后继承时将其放在默认管理器所在的基类 之后。...你也不应该在模型中使用这个属性之后,在类上改变它。这是因为在模型类被创建时,这个属性值马上就会被处理,而且随后不会再读取这个属性值。

    1.5K20
    领券