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

DRF框架学习(二)

3.DRF框架 作用:大大提高RestAPI接口开发效率 简介: Django REST framework 框架是一个用于构建Web API 强大而又灵活工具。...通常简称为DRF框架REST framework。 DRF框架是建立在Django框架基础之上,由Tom Christie大牛二次开发开源项目。...特点: 提供了定义序列化器Serializer方法,可以快速根据 Django ORM 或者其它库自动序列化/反序列化; 提供了丰富视图、Mixin扩展类,简化视图编写; 丰富定制层级:函数视图...Django框架学习中创建demo工程,在settings.pyINSTALLED_APPS中添加’rest_framework’。...3.2见识DRF魅力 我们仍以在学习Django框架时使用图书英雄为案例,使用Django REST framework快速实现图书REST API。 3.2.1.

4.1K30

TO-do api

我们还添加了str方法,以为每个将来模型实例提供易于理解名称。 由于我们已经更新了模型,现在该是Django进行两步操作时候了:制作一个新迁移文件,然后每次将数据库与更改同步。...', ] } Django REST Framework包含冗长设置默认设置列表。...相反,我们将更新三个特定于Django REST框架文件,以将数据库模型转换为Web API:urls.py,views.py和serializers.py。...这里格式与我们在Django本身中创建模型类或表单方式非常相似。 我们正在指定要使用模型以及我们要公开特定字段。...处理此问题最简单方法(以及Django REST框架建议一种方法)是使用中间件,该中间件将根据我们设置自动包括适当HTTP标头。

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

Django-DRF | 验证器

Django REST框架构建Web API。...Django网络应用开发5项基础核心技术包括模型(Model)设计,URL 设计与配置,View(视图编写,Template(模板)设计和Form(表单)使用。...多数时候,在 REST 框架中处理验证时,只需要依赖默认字段验证,或者在序列化程序和字段类上编写显验证方法。...在开发 REST API 接口时,在视图中需要做最核心事: 将数据库数据序列化作为前端所需要格式,并返回。 将前端发送数据反序列化作为模型类对象,并保存到数据库中。...REST 框架验证 Django REST 框架序列化器中验证处理方式:ModelForm ModelForm 验证部分在表单上执行,部分在模型实例上执行。

1.7K10

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

401:没有提供身份认证信息 403:没有操作权限 404 :访问资源不存在 405:不支持 HTTP 请求方法 500:服务器内部错误 HTTP 请求和响应过程,django-rest-framework...和表单类似,django-rest-framework 序列化器也可以根据关联模型,自动检测被序列化模型各个属性数据类型,推测需要使用序列化字段,无需我们显示定义。...Meta 中指定关联模型,以及需要序列化模型属性,django-rest-framework 就会根据各个属性数据类型,自动推测需要使用系列化字段,从而生成标准序列化器。...给 api_view 装饰器传入 http_method_names 参数指定允许访问该 API 视图 HTTP 方法。...接下来,让我们使用 django-rest-framework 提供通用类视图,将首页 API 视图函数改为类视图

98620

python教程

Django提供表单(Form)类和模型表单(ModelForm)类相同方式,REST 框架包括了实例化(Serializer)类和模型实例化(ModelSerializer)类。...用我们序列化来写常规Django视图 让我们看看,使用我们新序列化类,我们怎么写一些API视图。此刻,我们不会使用REST框架其他特性,仅仅像写常规Django视图一样。...用这些标识符代替纯数字HTTP状态码是很好注意。 装饰API视图 REST框架提供两个装饰器,你可以用它们来写API视图。 1 @api_view装饰器用在基于视图方法上。...这些普遍行为是通过REST框架混合类(mixin classes)实现。 让我们看看如何通过混合类(mixin classes)组建视图。下面是我们views.py模型。...视图集(ViewSets)和路由(Routers) REST框架包括对ViewSets简短描述,这可以让开发者把精力集中在构建状态和交互API模型,而且它可以基于一般规范自动构建URL。

5K10

Django REST Framework-常用视图

Django REST Framework是基于Django一个用于构建Web API框架。它提供了许多用于构建Web API工具和实用程序,其中最常用是类视图。...类视图是一种Django REST FrameworkAPI视图,它是基于类视图。它提供了一种方便方式来编写可重用Web API视图,并带有许多有用内置功能。...APIViewAPIView是Django REST Framework中最基本视图之一。它提供了一个通用方式来处理HTTP请求,并返回一个HTTP响应。...在视图中,我们指定了要使用查询集和序列化器,并使用list,create和destroy方法处理GET,POST和DELETE请求。...总结在Django REST Framework中,类视图是一种方便方式来编写Web API视图,并带有许多有用内置功能。

66030

简化 Django 开发八个 Python 包 | Linux 中国

我们为 Django 应用准备了六个包,为 Django REST 框架准备了两个包。几乎所有我们项目里,都用到了这些包,真的,不是说笑。  ...处理 Django REST 框架用户认证:django-rest-auth  如果 Django 开发中涉及到对外提供 API,你很可能用到了 Django REST Framework[22](DRF...Django REST 框架 API 可视化:django-rest-swagger  Django REST Swagger[23] 提供了一个功能丰富用户界面,用来和 Django REST 框架...你只需要安装 Django REST Swagger,把它添加到 Django 项目的已安装应用中,然后在 urls.py 中添加 Swagger 视图和 URL 模式就可以了,剩下事情交给 API...django-rest-swagger 从 API 视图 docstrings 生成每个端点文档,通过这种方法,为你项目创建了一份 API 文档,这对你,对前端开发人员和用户都很有用。

2.9K20

如何使用Django构建现代Web应用程序来管理客户信息并在Ubuntu 18.04上进行反应

Django,一个免费开源Python Web框架,遵循模型视图控制器(MVC)软件架构模式。 Django REST框架,一个功能强大且灵活工具包,用于在Django中构建REST API。...Django REST框架:使用Django构建REST API第三方应用程序。 django-cors-headers:启用CORS程序包。...我们使用该项目的第一步是配置我们在上一步中安装软件包,包括Django REST框架Django CORS软件包,方法是将它们添加到settings.py。...迁移是Django将您对模型所做更改传播到数据库模式方法。例如,这些更改可能包括添加字段或删除模型等内容。...在API消耗方面,在DjangoREST框架一个串行器允许将复杂模型实例和查询集转换成JSON格式。

13.9K83

5 分钟,带你快速入门 Django DRF

DRF 框架,全称为 Django Rest Framework,是 Django 内置模块扩展,用于创建标准化 RESTful API;它利用 ORM 映射数据库,并自定义序列化数据进行返回,多用于前后端分离项目...实现步骤 详细使用步骤如下( 10 步) 2-1 创建虚拟环境 使用 mkvirtualenv 创建一个单独虚拟环境,指定 Python 版本为 3.7 # 创建虚拟环境,名称为:django3 #...利用内部类「 Meta 」指定模型和要序列化属性 # urls.py # 序列化 from django.contrib import admin from django.contrib.auth.models...() # 指定序列化对应类 serializer_class = UserSerializer 其中 queryset指定数据源serializer_class指定要序列化类,即上面自定义序列化类...函数将上面自定义视图 UserViewSet 注册到路由中去 # urls.py from rest_framework import serializers, viewsets, routers

1.7K20

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

一是 action 装饰器,它用来装饰一个视图集中方法,被装饰方法会被 django-rest-framework 路由自动注册为一个 API 接口。...视图集中所有以上提及以标准动作命名方法,都会被 django-rest-framework 路由自动注册为标准 API 接口。...django-rest-framework 默认只能识别标准命名视图方法并将其注册为 API,但我们可以添加更多非标准 action,而为了让 django-rest-framework 能够识别这些方法...其实我们可以简单地将 action 装饰方法看作是一个视图函数实现,因此可以看到方法传入第一个参数为 request 请求对象,函数体就是这个视图函数需要执行逻辑,显然,方法最终必须要返回一个...对于这样场景,我们可以在请求 API 时加上查询参数,django-rest-framework 解析查询参数,然后从全部文章列表中过滤出查询所指定文章列表再返回。

2.6K30

Django实践-10RESTful架构和DRF入门

文件问题 django配置app中静态文件步骤 Django多APP加载静态文件 django.short包参考: 中间件应用 Django 前后端分离(REST Framework)...SOA支持服务,都是些离散可以再使用事务处理,这些事务处理合起来就组成了一个业务流程,是从基本系统中提取出来抽象代码。 SOA是一个框架方法,而SaaS是一种传递模型。...使用入门 参考:https://www.django-rest-framework.org/ 在Django项目中,如果要实现REST架构,即将网站资源发布成REST风格API接口,可以使用著名三方库...属性指定要序列化模型以及fields属性指定需要序列化模型字段,稍后我们就可以在视图函数中使用该类来实现对Subject模型序列化。...编写视图函数 DRF框架支持两种实现数据接口方式,一种是FBV(基于函数视图),另一种是CBV(基于类视图)。代码如下所示。

23721

Django REST Framework-什么是序列化器(一)

Django REST Framework(以下简称DRF)是一个强大框架,用于构建Web API。...其中一个核心概念是序列化器,它允许我们将Django模型转换为序列化格式(例如JSON,XML等),并反之亦然。什么是序列化器?序列化器是DRF中一个核心概念。...它们允许我们将Django模型转换为序列化格式,并反之亦然。例如,我们可以使用序列化器将Django模型转换为JSON格式,以便我们可以将其发送到前端应用程序。...以下是一个简单序列化器示例,用于将DjangoUser模型序列化为JSON格式:from rest_framework import serializersfrom django.contrib.auth.models...我们指定了User模型作为序列化器元数据,并指定了我们想要在JSON中包含字段。使用序列化器在定义序列化器之后,我们可以使用它将Django模型转换为序列化格式。

1K41

全栈“食”代:用 Django + Nuxt 实现美食分享网站(一)

我们接着安装 Django “三件套”: Django: Django 框架本身,提供了丰富且强大服务器开发组件; DRF (Django Rest Framework):Django 框架超级搭档...序列化器是 Django Rest Framework 提供功能,能够非常方便地将 Django 数据模型序列化成相应 JSON 数据格式。...在这里,我们定义一个 RecipeSerializer,并在 class Meta 中指定对应数据模型为刚才创建 Recipe,并选择相应字段展示: from rest_framework import...这里我们采用开挂模式,直接调用 Django Rest Framework 提供模型视图集(ModelViewset)直接搞定数据模型增删改查逻辑: from rest_framework import...注意 在 Django 路由定义中不包括 HTTP 方法,具体 HTTP 方法可以在视图中读取并判断。

1.5K30

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

DRF视图和常用功能 DRF视图 DRF视图类介绍 在DRF框架中提供了众多通用视图基类与扩展类,以简化视图编写。...View:Django默认视图基类,负责将视图连接到URL,HTTP请求方法基本调度,之前写类视图一般都用这个。...()方法:用于获取单条数据,可自定义默认分组名(pk) 基于上面的项目新增app模型: myapp/models.py from django.db import models class User(...ViewSet视图集不再实现get()、post()等方法,而是实现以下请求方法动作: list():获取所有数据 retrieve():获取单个数据 create():创建数据 update(...示例:重写create()方法,修改数据和响应内容格式 新增app视图: myapp/views.py from rest_framework.viewsets import ModelViewSet

4.3K10
领券