首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django写接口(实战篇)

视图及模版》 《django入门:Admin管理系统及表单》 《django入门:通用视图类重构视图》 《用django写接口(入门篇)》 《用django写接口(优化篇)》 正文 上一部分我们通过基本类重构了...1.设置全局分页参数 我们可以 project 下的 settings.py 文件中加入 REST_FRAMEWORK 字典,设置全局的分页参数 REST_FRAMEWORK = { # 配置全局分页类型和每页数量...10, } 2.不同 view 设置不同分页 我们也可以不同的 view 下设置不同的分页参数,分页的类我们可以通过继承已有的 Pagination 或者 BasePagination 来写,然后通过...注册完以后,我们 REST_FRAMEWORK 字典中将过滤器添加进去 REST_FRAMEWORK = { # 配置全局分页类型和每页数量 'DEFAULT_PAGINATION_CLASS...自带的 User 类, # 我们通过 ForeignKey 进行关联两个 Model,related_name 反向引用, # 即我们 User 表内可以通过 related_name

2K20
您找到你想要的搜索结果了吗?
是的
没有找到

第 11 篇:基于 drf-haystack 的文章搜索接口

但是,通过之前的功能我们看到,使用 django-rest-framework 是一个近乎标准化但又枯燥无聊的过程:首先是编写序列化器用于序列化资源,然后是编写视图集,提供对资源各类操作的接口。...所以接下来就进入到 django-rest-framework 标准开发流程:定义序列化器 -> 编写视图 -> 配置路由,这样一个标准的搜索接口就开发出来了。...关键的地方在这个 search_fields,这个列表声明用于搜索的字段(通常都定义索引字段),我们在上一部教程设置 django-haystack 时,文章的索引字段设置的名字叫 text,如果对这一块有疑惑...对象,这个对象就是视图中的 HTTP 请求对象,但是因为 django 中 request 对象无法像 flask 那样从全局获取,因此 drf 视图中将其保存在了序列化器和序列化字段的 context...属性 highlighted,只要设置好 css 样式,页面所有的 markdown 关键词就会显示不同的颜色,从而实现搜索关键词高亮的效果了。

1.6K20

【愚公系列】2022年04月 Python教学课程 73-DRF框架之限流

文章目录 一、限流 1.全局设置 2.视图设置 3.装饰器设置 4.装饰器创建的路由设置限制类 二、命名限流 三、限流缓存 一、限流 限流类似于权限,因为它确定是否应对请求进行授权。...限制指示临时状态,用于控制客户端可以向 API 发出的请求速率。 与权限一样,可以使用多个限制。您的 API 可能对未经身份验证的请求设置了限制性限制,对经过身份验证的请求的限制性限制较少。...'anon': '100/day', 'user': '1000/day' } } 2.视图设置 from rest_framework.response import Response...框架提供的限制类使用Django的缓存后端。...您应确保已设置适当的缓存设置。后端的默认值应该适用于简单的设置。请参阅 Django 的缓存文档以获取更多详细信息。

68520

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

一是 action 装饰器,它用来装饰一个视图集中的方法,被装饰的方法会被 django-rest-framework 的路由自动注册一个 API 接口。...回顾一下我们之前使用视图集 viewset 时提到过 action(动作)的概念,django-rest-framework 预定义了几个标准的动作,分别为 list 获取资源列表,retrieve...视图集中所有以上提及的以标准动作命名的方法,都会被 django-rest-framework 的路由自动注册标准的 API 接口。...django-rest-framework 默认只能识别标准命名的视图集方法并将其注册 API,但我们可以添加更多非标准的 action,而为了让 django-rest-framework 能够识别这些方法...其中 filter_backends 设置 DjangoFilterBackend,这样 API 返回结果时, django-rest-framework 会调用设置的 backend(这里是 DjangoFilterBackend

2.6K30

rest_framework之解析器、路由控制、分页

= [JSONParser,FormParser,FileUploadParser] 路由控制 我们之前写例子的时候,视图类已经封装到最精简版本了,但是url变的比之前复杂了,如下: url(r...url,如果项目做的很大,那么url会变的非常臃肿, 而rest_framework给我们封装了一种自动注册url的功能,格式如下: from django.conf.urls import url from...django.contrib import admin from app01 import views from django.conf.urls import include from rest_framework...分页 继承APIView类的视图中添加分页 from rest_framework.pagination import PageNumberPagination class MyPageNumberPagination...中使用size参数临时改变当页显示的数目 max_page_size=10 # 可以url中使用size参数临时改变当页显示的数目,但是最大只能显示10条 class AuthorsView

44500

DRF进阶之DRF视图和常用功能

DRF视图和常用功能 DRF视图 DRF视图类介绍 DRF框架中提供了众多的通用视图基类与扩展类,以简化视图的编写。...View:Django默认的视图基类,负责将视图连接到URL,HTTP请求方法的基本调度,之前写类视图一般都用这个。...django-project\day2\django_drf>python manage.py startapp myapp 项目主路由配置: django_drf/urls.py 创建项目视图:...用于响应头信息的字典 content_type:响应数据的类型 使用方法: return Reponse(data=data, status=status.HTTP_404_NOT_FOUND) 为了方便设置状态码..._302_FOUND:临时重定向 HTTP_304_NOT_MODIFIED:请求的资源未修改 HTTP_403_FORBIDDEN:没有权限访问 HTTP_404_NOT_FOUND:页面没有发现 HTTP

4.3K10

python测试开发django-62.基于类的视图(APIView和View)

前言 django中编辑视图views.py有两种方式,一种是基于类的实现,另外一种是函数式的实现方式,两种方法都可以用。...REST框架提供了一个APIView类,它是Django View类的子类。...View与APIView的区别 View是Django默认的视图基类,APIView是REST framework提供的所有视图的基类, 继承自Django的View。...APIView与View的不同之处在于: 传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象; 视图方法可以返回REST framework...的Response对象,视图会为响应数据设置(render)符合前端要求的格式; 任何APIException异常都会被捕获到,并且处理成合适的响应信息; APIException异常捕获 进行dispatch

1.4K20

3.寻光集后台管理系统-依赖环境准备

第三方库 django REST framework https://www.django-rest-framework.org/ 本次开发使用的是前后端分离的方式开发,所以后端使用django REST...极丰富的类视图,Mixin扩展视图,ViewSet视图 提供了直观的web api界面 支持多种身份认证和权限认证 强大的排序,过滤,分页,搜索,限流等功能。...来操作 django-filter https://django-filter.readthedocs.io/en/main/ django-filter可以方便的进行内容的过滤,搜索栏输入内容搜索的时候会用到...= { # 设置默认的全局用户验证方案 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework_simplejwt.authentication.JWTAuthentication...": ( # json渲染器第一优先级 "rest_framework.renderers.JSONRenderer", # 可浏览的API渲染第二优先级

38650

Django+Vue开发生鲜电商平台之8.商品详情页功能实现

(django_filters.rest_framework.FilterSet): '''商品过滤类''' name = django_filters.CharFilter(field_name...先手动设置几个商品热销商品,然后再次访问,可以看到: ? 热销商品已经显示出来。...再在apps/user_operation/views.py中实现视图: from django.shortcuts import render from rest_framework import viewsets...权限检查始终视图的开始处运行,然后再允许执行其他任何代码,通常会使用request.user和request.auth属性中的身份验证信息来确定是否应允许传入请求。...' ] } 属于全局设置,因此对所有的数据接口均需要认证才能成功,但是有的数据比如商品数据应该公开、而不应该认证成功后再访问,所以不能全局设置,而是需要认证的app视图中局部定义认证即可,全局设置中去掉

1.1K20

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

为此,django-rest-framework 分别提供了对应通用类视图函数。...第二个参数就是视图集,第三个参数 basename 用于指定视图集生成的视图函数名的前缀。 django 的 URL 中,一条路由通常由 URL 模式,对应的视图函数和视图函数名组成。...basename 可以不指定,django-rest-framework 会自动从视图集 get_queryset 方法返回的结果所关联的 model 获取一个默认值,其值 model 名小写。...不过,根据 Python 之禅,显式优于隐式,因此即使你设置的 basename 和 django-rest-framework 默认生成的一样,也比不指定要好。...运行开发服务器,访问 http://127.0.0.1:8000/api/,界面如下: django-rest-framework 我们自动生成了 API 交互后台,在这个界面中可以和我们创建的 API

80110

Django-rest-framework 是个什么鬼?

当用户访问某个 URL 时,调用绑定的视图函数进行处理。 编写视图函数的逻辑。视图中通常涉及数据库的操作。 视图中渲染 HTML 模板,返回 HTTP 响应。...不同点在于,传统的基于模板引擎的开发方式中,资源使用 HTML 文档进行描述并返回给客户端,而在 RESTful API 的开发方式中,资源通常被描述 JSON 或者 XML 的格式返回给客户端。...下面就来简单介绍 django-rest-framework 我们提供了哪些功能特性,这些功能和特性我们接下来的实战中会进一步学习其用法,这里可以先从宏观层面,做一个简单的了解。...之前说过, RESFful 架构的系统中,资源以某种描述形式客户端和服务器之间传递,django-rest-framework 根据客户端能够接受的资源格式,自动使用合适的资源描述工具,返回客户端可接受的资源...接下来的实战教程中,我们会逐一的学习并使用它们。 让我们正式开启 django-rest-framework 的学习之旅吧!

97330

第 3 篇:实现博客首页文章列表 API

为什么需要这个视图函数装饰器呢?之前说过,django-rest-framework API 的开发提供了丰富的功能,包括内容协商、认证和鉴权、限流等等。...这些过程 django 默认的视图函数处理 HTTP 请求时是没有提供的,而经过 api_view 装饰后的视图,则提供了上述全部功能。...的 QuerySet),此时需要设置 many 参数 True 序列化器会依次序列化每一项,返回一个列表。...回顾一下 index API 视图函数的基本逻辑: 从数据库取数据 构造序列化器并将取出的数据序列化 返回响应 这其实是访问序列型的资源比较常见的逻辑,我们知道,django 专门这种 Web 开发中常用的逻辑提供了一系列基于类的通用视图...接下来,让我们使用 django-rest-framework 提供的通用类视图,将首页 API 的视图函数改为类视图

98620
领券