
Django REST framework 中文翻译(全)
文章平均质量分 84
御剑把酒听秋雨丶
这个作者很懒,什么都没留下…
展开
-
Django REST framework 中文文档
Django REST framework 中文文档本人博客:Django REST framework 中文文档,跟官网布局基本一致,更直观。如果本文对您有所帮助,请在 github 上 star 该项目。版本说明这是 Django REST framework v3 版本的中文翻译文档。djangorestframework v3.8.2django 2.0.6python 3...原创 2019-07-10 14:26:30 · 6677 阅读 · 2 评论 -
Browser Enhancements
浏览器增强 (Browser enhancements)“重载 POST 有两个无争议的用途。第一种是为不支持 PUT 或 DELETE 的 Web 浏览器等客户端模拟 HTTP 的统一接口” —— RESTful Web Services, Leonard Richardson & Sam Ruby.为了让可浏览的 API 发挥作用,REST framework 需要提供一些浏览器增...翻译 2019-01-14 20:34:27 · 237 阅读 · 0 评论 -
API Clients
API 客户端 (API Clients)API 客户端处理网络请求是如何发出的以及如何解码响应的底层细节。它们为开发人员提供了一个应用程序接口来工作,而不是直接与网络接口一起工作。此处记录的 API 客户端不限于使用 Django REST framework 构建的 API。它们可以与任何公开支持的模式格式的 API 一起使用。例如,Heroku 平台 API 以 JSON 超模式格式公...翻译 2019-01-08 18:50:03 · 1461 阅读 · 0 评论 -
HTML & Forms
HTML 和表单 (HTML & Forms)REST framework 适用于返回 API 样式响应和常规 HTML 页面。此外,序列化器可用作 HTML 表单并在模板中渲染。渲染 HTML (Rendering HTML)为了返回 HTML 响应,您需要使用 TemplateHTMLRenderer 或 StaticHTMLRenderer。TemplateHTMLRende...翻译 2019-01-12 23:03:04 · 298 阅读 · 0 评论 -
Documenting your API
记录您的 API (Documenting your API)REST API 应该花费几乎所有的描述性工作来定义用于表示资源和驱动应用程序状态的媒体类型。—— Roy Fielding, REST APIs must be hypertext drivenREST framework 提供对 API 文档的内置支持。还有一些很棒的第三方文档工具可用。内置 API 文档 (Built-in ...翻译 2019-01-06 23:39:32 · 544 阅读 · 1 评论 -
Testing
测试 (Testing)天有不测风云,码有祸福旦夕 (指明了测试在编程开发中的重要性)。—— Jacob Kaplan-MossREST framework 包含一些扩展 Django 现有测试框架的辅助类,并改进对 API 请求的支持。APIRequestFactory扩展 Django 的现有的 RequestFactory 类。创建测试请求 (Creating test reque...翻译 2019-01-02 11:37:19 · 1061 阅读 · 0 评论 -
Status codes
状态码 (Status Codes)418 我是茶壶 — 任何用茶壶泡咖啡的尝试都会导致错误代码 “418 我是茶壶”。产生的实体主体可能短而粗。—— RFC 2324, 超文本咖啡壶控制协议不建议在您的响应中使用裸露 (直接使用数字) 的状态码。REST framework 包含一组命名常量,您可以使用来使代码更加清晰易读。from rest_framework import status...翻译 2019-01-01 17:34:06 · 388 阅读 · 0 评论 -
Exceptions
异常 (Exceptions)异常…允许错误处理在程序结构的中心或者高级的地方被清晰有条理的组织起来。—— Doug Hellmann, Python 异常处理技术REST framework 视图中的异常处理 (Exception handling in REST framework views)REST framework 的视图处理各种异常,并处理返回适当的错误响应。处理的异常有:...翻译 2019-01-01 17:32:49 · 861 阅读 · 0 评论 -
AJAX, CSRF & CORS
使用 AJAX,CSRF 和 CORS (Working with AJAX, CSRF & CORS)“仔细查看您自己网站上可能存在的 CSRF / XSRF 漏洞。它们是最糟糕的一种漏洞——很容易被攻击者利用,但对软件开发人员来说却不那么直观易懂,至少在您被攻击之前是这样。” —— Jeff AtwoodJavascript 客户端 (Javascript clients)如果您...翻译 2019-01-10 22:48:50 · 363 阅读 · 0 评论 -
Content negotiation
内容协商 (Content negotiation)HTTP 具有用于 “内容协商” 的若干机制的规定—当有多个可用表示时,为给定响应选择最佳表示的过程。—— RFC 2616, Fielding et al.内容协商是基于客户端或服务器首选项选择多个可能表示之一以返回到客户端的过程。确定接受的渲染器 (Determining the accepted renderer)REST fram...翻译 2018-12-25 13:41:59 · 490 阅读 · 0 评论 -
Versioning
版本控制 (Versioning)对接口进行版本控制只是一种杀死已部署客户端的 “礼貌” 方式。—— Roy FieldingAPI 版本控制允许您更改不同客户端之间的行为。REST framework 提供了许多不同的版本控制方案。版本控制由传入的客户端请求决定,并且可以基于请求 URL,也可以基于请求头。有许多有效的方法来处理版本控制。非版本化的系统也可能是合适的,特别是如果您正在为超...翻译 2018-12-24 14:55:21 · 654 阅读 · 0 评论 -
Returning URLs
返回 URL (Returning URLs)区别 REST 架构风格与其他基于网络风格的中心特征是它强调组件之间的统一接口。—— Roy Fielding,架构风格与基于网络的软件体系结构设计通常,从 Web API 返回绝对 URI (例如 http://example.com/foobar) 可能是比返回相对 URI (/foobar) 更好。这样做的好处是:它更明确。它为 AP...翻译 2018-12-29 15:11:37 · 179 阅读 · 0 评论 -
Format suffixes
格式后缀 (Format suffixes)第 6.2.1 节并未说明应始终使用内容协商。—— Roy Fielding, REST 讨论邮件列表Web API 的常见模式是在 URL 上使用文件扩展名来为给定的媒体类型提供端点。例如,‘http://example.com/api/users.json’ 用于提供 JSON 表示。在 URLconf 中为您的 API 添加格式后缀模式到每个...翻译 2018-12-29 15:06:05 · 885 阅读 · 0 评论 -
Internationalization
国际化 (Internationalization)支持国际化不是可选的。它必须是核心功能。—— Jannis Leidel,2015 年在 Django Under the Hood 演讲。REST framework 附带可翻译的错误消息。您可以启用 Django 的标准翻译机制以您的语言显示这些内容。这样做可以让您:使用标准 LANGUAGE_CODE Django 设置,选择英语...翻译 2019-01-09 20:57:56 · 830 阅读 · 0 评论 -
The Browsable API
可浏览的 API (The Browsable API)这是一个极其错误的真理……我们应该培养思考我们正在做什么的习惯。事实恰恰相反。文明的进步是通过扩展我们不需要思考就能完成的重要操作的数量。—— Alfred North Whitehead,数学概论 (1911)API 可能代表应用程序编程接口,但是人类也必须能够读取 API;必须有人进行编程。Django REST Framework ...翻译 2019-01-21 23:02:08 · 527 阅读 · 0 评论 -
Project management
项目管理 (Project management)“没有人可以吹响交响乐;它需要整个管弦乐队演奏它” —— Halford E. Luccock本文档概述了 REST framework 的项目管理流程。其目的是确保项目具有较高的 “公共要素”,并且在可预见的未来可以继续得到良好的支持。欢迎提出改进我们流程的建议。维护团队 (Maintenance team)我们有一个季度维护周期,新...翻译 2019-02-14 17:56:45 · 744 阅读 · 0 评论 -
3.4 Announcement
Django REST framework 3.43.4 发行版是计划系列中的第一个版本,它将处理模式生成、超媒体支持、API 客户端以及最后的实时支持。资金 (Funding)3.4 版本是通过我们的协作资助模型在最近的 Mozilla 拨款中实现的。如果您在商业上使用 REST framework,并且希望看到这项工作继续进行,我们强烈鼓励您通过注册付费计划来投资其持续开发。最初的目...翻译 2019-04-01 16:43:24 · 408 阅读 · 0 评论 -
3.5 Announcement
Django REST framework 3.53.5 版本是计划系列中的第二个版本,它处理模式生成,超媒体支持,API 客户端库以及最终的实时支持。资金 (Funding)如果没有我们的合作资助模式,3.5 版本是不可能实现的。如果您在商业上使用 REST framework,并且希望看到这项工作继续进行,我们强烈鼓励您通过注册付费计划来投资其持续开发。 非常感谢我们所有的赞助...翻译 2019-03-31 17:12:54 · 416 阅读 · 0 评论 -
3.3 Announcement
Django REST framework 3.33.3 版本标志着 Kickstarter 资助系列的最终工作。我们想向所有精彩的赞助商和支持者致以响亮的谢意。由于资金直接结果而实现的工作量是巨大的。我们添加了大量的新功能,解决了近 2000 票,并且重新设计和完善了项目的大部分内容。为了继续推动 REST framework 向前发展,我们将很快宣布一套新的资助计划。关注@_tomchr...翻译 2019-04-04 14:47:12 · 374 阅读 · 0 评论 -
3.6 Announcement
Django REST framework 3.63.6 版本为 REST framework 增加了两个主要的新功能。内置交互式 API 文档支持。新的 JavaScript 客户端库。上图:交互式 API 文档。资金 (Funding)如果没有 Mozilla 对项目的支持以及我们的合作资金模式,3.6 版本是不可能实现的。如果您在商业上使用 REST framework...翻译 2019-03-26 13:12:31 · 271 阅读 · 0 评论 -
3.7 Announcement
Django REST framework 3.73.7 版本侧重于对模式生成和交互式 API 文档的改进。这个版本已经由赞助该版本的 Bayer 推出。资金 (Funding)如果您在商业上使用 REST framework,并且希望看到这项工作继续进行,我们强烈鼓励您通过**注册付费计划**来投资其持续开发。 除了我们的发行赞助商,我们还要特别感谢我们的高级支持者,Rov...翻译 2019-03-11 23:38:46 · 281 阅读 · 0 评论 -
3.8 Announcement
Django REST framework 3.83.8 版本是一个以维护为重点的版本,它解决了大量以前悬而未决的问题,并为未来的变化奠定了基础。资金 (Funding)如果您在商业上使用 REST framework,并且希望看到这项工作继续进行,我们强烈鼓励您通过注册付费计划来投资其持续开发。我们要特别感谢我们的高级支持者,Rover,Sentry,Stream,Machinalis...翻译 2019-03-10 23:31:22 · 333 阅读 · 0 评论 -
3.9 Announcement
Django REST framework 3.93.9 版本允许访问可浏览 API 中的额外操作,引入可组合权限和内置的 OpenAPI 模式支持。(以前称为 Swagger)资金 (Funding)如果您在商业上使用 REST framework,并且希望看到这项工作继续进行,我们强烈鼓励您通过注册付费计划来投资其持续开发。 [ 非常感谢我们所有出色的赞助商,特别是我们的...翻译 2019-03-06 13:40:28 · 382 阅读 · 0 评论 -
Release Notes
发行说明 (Release Notes)尽早发布,经常发布 — Eric S. Raymond, The Cathedral and the Bazaar版本 (Versioning)次要版本号 (0.0.x) 用于 API 兼容的更改。您应该能够在小点版本之间进行升级,而无需更改任何其他代码。中等版本号 (0.x.0) 可能包含 API 更改,这与弃用策略一致。在中点版本之间进行升级之前...翻译 2019-02-19 21:03:16 · 6376 阅读 · 0 评论 -
Contributing to REST framework
对 REST framework 的贡献 (Contributing to REST framework)世界真的只能一次改变一件事。艺术正在挑选那件作品。—— Tim Berners-Lee您可以通过多种方式为 Django REST framework 做出贡献。我们希望它是一个由社区主导的项目,所以请参与并帮助塑造项目的未来。社区 (Community)您可以做的最重要的事情是尽可能...翻译 2019-02-13 16:52:53 · 197 阅读 · 0 评论 -
Tutorials and Resources
教程和资源 (Tutorials and Resources)有大量资源可供学习和使用 Django REST framework。我们尝试在此处提供全面的可用列表。书籍 (Books) 教程 (Tutorials)Django REST framework 初学者指南Django REST framework - 简介Django REST Framework 教程Django...翻译 2019-01-30 22:33:43 · 258 阅读 · 0 评论 -
REST, Hypermedia & HATEOAS
REST, Hypermedia & HATEOAS你一直用 “REST” 这个词。我不认为这意味着你认为它意味着什么。—— Mike Amundsen,REST fest 2012主题演讲。首先,免责声明。“Django REST framework ” 这个名称早在 2011 年初就已经确定,之所以选择这个名称只是为了确保开发人员能够轻松找到该项目。在整个文档中,我们尝试使用更简单...翻译 2019-01-29 23:07:01 · 796 阅读 · 0 评论 -
Third Party Packages
第三方包 (Third Party Packages)软件生态系统 […] 建立一个社区,进一步加速知识、内容、问题、专业知识和技能的共享。—— Jan Bosch关于第三方包 (About Third Party Packages)第三方软件包允许开发人员共享扩展 Django REST framework 功能的代码,以支持其他用例。我们支持、鼓励并强烈支持创建第三方包来封装新的行为,...翻译 2019-02-07 22:21:28 · 1448 阅读 · 0 评论 -
Schemas
模式 (Schemas)机器可读的[模式]描述了通过 API 可以使用哪些资源,它们的 url 是什么,它们是如何表示的,它们支持哪些操作。—— Heroku, Heroku 平台 API 的 JSON 模式API 模式是一个有用的工具,允许一系列用例,包括生成参考文档,或驱动可与您的 API 交互的动态客户端库。安装 Core API (Install Core API)您需要安装 co...翻译 2018-12-29 15:00:16 · 2134 阅读 · 0 评论 -
Settings
设置 (Settings)命名空间是一个很棒的主意 - 让我们做更多的事情吧!—— The Zen of PythonREST framework 的配置全部在单个 Django 设置中命名的,名为 REST_FRAMEWORK。例如,您的项目的 settings.py 文件可能包含以下内容:REST_FRAMEWORK = { 'DEFAULT_RENDERER_CLASSES'...翻译 2019-01-03 15:41:52 · 1408 阅读 · 0 评论 -
Renderers
渲染器 (Renderers)在将 TemplateResponse 实例返回给客户端之前,必须渲染它。渲染过程采用模板和上下文的中间表示,并将其转换为可以提供给客户端的最终字节流。—— Django 文档REST framework 包含许多内置的渲染器 (Renderer) 类,允许您返回各种媒体类型的响应。还支持自定义渲染器,这使您可以灵活地设计自己的媒体类型。如何确定渲染器 (How...翻译 2018-12-13 16:38:38 · 4807 阅读 · 1 评论 -
Permissions
权限 (Permissions)认证或识别本身通常不足以获得对信息或代码的访问。为此,请求访问的实体必须具有授权。—— Apple 开发人员文档与身份验证和限流一起,权限确定是否应该授予或拒绝访问请求。在允许任何其他代码继续之前,权限检查始终在视图的最开始运行。权限检查通常会使用 request.user 和 request.auth 属性中的认证信息来确定是否允许传入请求。权限用于授予或...翻译 2018-12-19 15:06:34 · 2140 阅读 · 0 评论 -
7 - Schemas and client libraries
教程 7:模式和客户端库schema 是一个机器可读文档,描述可用的 API 端点,它们的 URL 以及它们支持的操作。Schemas 可以是自动生成文档的有用工具,也可以用来驱动可以与 API 交互的动态客户端库。Core API为了提供 schema 支持,REST framework 使用 Core API。Core API 是用于描述 API 的文档规范。它用于提供可用端点的内部...翻译 2018-12-06 15:37:38 · 183 阅读 · 0 评论 -
Parsers
解析器 (Parsers)与表单编码相比,机器交互 web 服务更倾向于使用更结构化的格式来发送数据,因为它们发送的数据比简单表单更复杂。—— Malcom Tredinnick, Django developers groupREST framework 包含许多内置的 Parser 类,允许您接受各种媒体类型的请求。还支持自定义解析器,这使您可以灵活地设计API接受的媒体类型。如何确定解...翻译 2018-12-12 16:26:34 · 654 阅读 · 0 评论 -
4 - Authentication and permissions
教程 4:身份验证和权限目前我们的 API 对谁可以编辑或删除 snippet 代码没有任何限制。我们希望有一些更高级的行为来确保:snippets 代码始终与创建者相关联。只有经过身份验证的用户可以创建 snippets。只有 snippets 的创建者可以更新或删除它。未经身份验证的请求应具有完全只读访问权限。将信息添加到我们的模型我们将对 Snippet 模型类进行一些更改...翻译 2018-12-03 15:48:32 · 260 阅读 · 0 评论 -
Responses
响应 (Responses)与基本的 HttpResponse 对象不同,TemplateResponse 对象保留了视图提供的用于计算响应的上下文的详细信息。在响应过程中,直到需要时才会计算最终的响应输出。—— Django 文档REST framework 通过提供一个 Response 类来支持 HTTP 内容协商,该类允许您根据客户端请求返回可渲染为多种内容类型的内容。Respons...翻译 2018-12-08 15:28:24 · 2006 阅读 · 0 评论 -
6 - Viewsets and routers
教程 6:ViewSets 和路由器REST framework 包括一个用于处理 ViewSets 的抽象,它允许开发人员集中精力对 API 的状态和交互进行建模,并保留 URL 结构,根据通用约定自动处理。ViewSet 类与 View 类几乎相同,只是它们提供诸如 read 或 update 等操作,而不提供诸如 get 或 put 等方法处理程序。一个 ViewSet 类最后时刻只绑...翻译 2018-12-05 16:17:47 · 152 阅读 · 0 评论 -
2 - Requests and responses
教程 2:请求和响应从现在开始,我们将真正开始接触 REST framework 的核心。 我们来介绍几个基本的构建模块。请求对象 (request objects)REST framework 引入了一个扩展了常规 HttpRequest 的 Request 对象,并提供了更灵活的请求解析。Request 对象的核心功能是 request.data 属性,它与 request.POST 类...翻译 2018-12-01 20:10:50 · 225 阅读 · 0 评论 -
Home
Django REST FrameworkDjango REST framework 是用于构建 Web API 的强大而灵活的工具包。您可能希望使用 REST framework 的一些原因:Web 可浏览 API 对于开发人员来说是一个巨大的可用性胜利。身份验证策略包括 OAuth1a 和 OAuth2 的程序包。支持 ORM 和非 ORM 数据源的序列化。一路可自定义下去 -...翻译 2018-11-28 13:34:02 · 262 阅读 · 0 评论 -
3 - Class based views
教程 3:基于类的视图我们还可以使用基于类的视图来编写 API 视图,而不是基于函数的视图。正如我们将看到的,这是一个强大的模式,可以让我们重用通用功能,并帮助我们保持代码 DRY。使用基于类的视图重写我们的 API我们将首先将基于类的视图重写根视图。所有这些都涉及一些对 views.py 的重构。class SnippetList(APIView): """ 列出所有的代...翻译 2018-12-02 22:31:57 · 125 阅读 · 0 评论