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

DRF框架学习(二)

1.Restful API接口实现 1.1需求实现思路 1、获取指定的图书信息: 1)根据pk获取指定的图书对象(pk查询字符串的形式传给后端) 2)将图书的json数据返回,状态码:200 2、修改指定的图书信息...3.DRF框架 作用:大大提高RestAPI接口开发效率 简介: Django REST framework 框架是一个用于构建Web API 的强大而又灵活的工具。...通常简称为DRF框架REST framework。 DRF框架是建立在Django框架基础之上,由Tom Christie大牛二次开发的开源项目。...3.2见识DRF的魅力 我们仍以在学习Django框架时使用的图书英雄为案例,使用Django REST framework快速实现图书的REST API。 3.2.1....ModelViewSet): queryset = BookInfo.objects.all() serializer_class = BookInfoSerializer queryset 指明该视图集在查询数据时使用的查询

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

用 GraphQL 查询你的 Django 应用

GraphQL 首先是一种查询语言,它定义了一种通用的数据查询方式,可以理解为一种通用的 SQL,只不过前者面向抽象的数据,后者往往是具体的关系型数据库。...vs 扩展的 REST 协议 (此小节中图片拷贝自网络,懒得画) 和 REST 一样,GraphQL 并不是什么开发框架,它只是定义了一种通用型查询的 DSL。...服务端落地:GraphQL → Django 想要将 GraphQL 引入现有的项目,我们需要安装两个基础的依赖: graphene-django django-filter 二者分别负责两部分的工作...有所区别,都会遇到类似像 N+1 这样的慢查询问题,所以需要谨慎地将前端的查询转换成可靠的 Django ORM 查询。...适合成熟的客户端开发团队,反之 REST 是更好的选择 Django 相关的生态建设并不完善,没有一个足够强大、开箱即用的整合方案 由于查询并不是基于 Uri 维度,会给周边配套的生态—— 监控、日志等

2K60

django-rest_framework api框架学习day1

今天开始了django-rest-framework的学习 *** 其实api写起来的话要比前后端一起写要简单很多,因为你不需要关心前端怎么写,主要心思放在后端上面即可,前端的话随便找个模板,然后用...’, ‘rest_framework’, ‘ajax’, ] *** 注册完成之后路由上的写法也有些不同, URL中 *** from django.urls import path...=kwargs.get(‘pk’) print(kwargs.get(‘pk’)) if not pk: # 如果pk为空就查询全部 book_list = [] all = models.Bookinfo.objects.all...一个就查询一个, 这里有个查询技巧,就是values直接把查询的值转化成字典,然后取出,必须要这步,不然就会报错了 a = models.Bookinfo.objects.filter(pk=pk)...对urlencoding会进行解析兼容较好,其余的都不会进行解析 *** ##下面是rest_framework框架 *** from rest_framework.serializers import

1.3K40

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

Django,一个免费的开源Python Web框架,遵循模型视图控制器(MVC)软件架构模式。 Django REST框架,一个功能强大且灵活的工具包,用于在Django中构建REST API。...这些将包括: Django:项目的Web框架Django REST框架:使用Django构建REST API的第三方应用程序。 django-cors-headers:启用CORS的程序包。...我们使用该项目的第一步是配置我们在上一步中安装的软件包,包括Django REST框架Django CORS软件包,方法是将它们添加到settings.py。...在API消耗方面,在DjangoREST框架中的一个串行器允许将复杂的模型实例和查询转换成JSON格式。...结论 在本教程中,您使用Django和React创建了一个演示应用程序。您使用Django REST框架构建REST API,使用Axios来使用API,使用Bootstrap 4来构建CSS样式。

13.8K83

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

目录 需求 创建一个Django项目 配置基础东西 连接mysql 使用Django_rest 解决跨域 建模(model里面写实体类) admin.py文件里面的创建 手动在后台管理系统里面添加相关数据...还有收货地址模块 创建一个Django项目 用pycharm直接创建一个Django项目 配置基础东西 连接mysql 使用Django_rest 解决跨域 第一步 第二部 第三部...框架的方法,不能变,就是定义查询的范围的,获取查询级 category=self.request.query_params.get('category',None) # 获取前段传过来的这个字段...,相当于创建对象 实现用户的登录 首先在setting里面进行配置,使用token进行登录 这个是rest框架自带 配置完成,进行生成数据库迁移 数据库里面会生成 就会多一个这个...P[0-9]+)/$', views.UserProfileRUView.as_view(),name='user_profile_ru'), 收货地址的新增和列表查询 新增和list列表查询

2.6K10

DRF 视图组件

视图集 两个视图集总结: 其他视图集 ViewSet GenericViewSet ViewSetMixin 总结 补充 视图集中定义附加action动作 action属性 DRF 视图组件 DRF框架提供了很多通用的视图基类与扩展类...,上篇使用的APIView是比较偏Base的,视图的使用更加简化了代码,这里介绍一下其他视图的用法 Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验、保存、...转换数据) 控制数据库查询的执行 先来看看这其中的人情世故:两个视图基本类,五个扩展类,九个视图子类,视图集方法,视图集·· 视图组件大纲 两个视图基本类 导入: from rest_framework.views...-serializer_class = None # 指定序列化类 -lookup_field = 'pk' # 查询单条,分组分出来的参数,转换器对象参数的名字 -filter_backends...import admin from django.urls import path, include from rest_framework.routers import SimpleRouter

89110

python教程

除了将模型实例(model instance)序列化外,我们也能序列化查询(querysets),只需要添加一个序列化参数many=True。...以Django提供表单(Form)类和模型表单(ModelForm)类相同的方式,REST 框架包括了实例化(Serializer)类和模型实例化(ModelSerializer)类。...用我们的序列化来写常规的Django视图 让我们看看,使用我们新的序列化类,我们怎么写一些API视图。此刻,我们不会使用REST框架的其他特性,仅仅像写常规Django视图一样。...REST框架提供两种HTML渲染样式,一种是用模板渲染处理HTML,另一种是用预渲染HTML。第二种是我们想要用的方式。 在创建代码时,我们需要考虑的是,高亮视图在我们使用的普通视图中是不存在的。...REST框架支持以上所有方式,都能适应正向或者反向关系,或者就行使用一般的外键一样使用自定义的管理方式。 这种情况下,我们想要在实体之间使用超链接方式。

5K10

drf之请求、响应、视图

3 利用了REST framework的parsers解析器,不仅支持表单类型数据,也支持JSON数据 .query_params request.query_params与Django标准的...APIView与View的不同之处在于: 传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象; 视图方法可以返回REST framework...在models.py 创建数据模型类: from django.db import models class Book(models.Model): name=models.CharField...-request 当前视图的请求对象 -view 当前请求的类视图对象 -format 当前请求期望返回的数据格式 提供的关于数据库查询的属性与方法 属性:queryset  指明使用的数据查询...方法: get_queryset(self) :返回视图使用的查询,主要用来提供给Mixin扩展类使用,是列表视图与详情视图获取数据的基础,默认返回queryset属性,可以重写 get_object

2.1K20

Python Django性能测试与优化指南

在本文中,想谈谈优化Web项目代码的五种常用方法。虽然本文是以Django为例,但其他框架和语言的优化原则也是类似的。通过使用这些优化方法,文中例程的查询响应时间从原来的77秒减少到了3.7秒。...来提供这些数据,所以我们安装了Django REST框架并定义以下序列化器和视图: Python代码 # houses/serializers.py class HouseSerializer(serializers.ModelSerializer...当通过House.objects.filter(country=country)来获得查询时,Django将获取特定地区的所有房屋。...为了提取所有需要的序列化数据,你可以在查询上使用select_related()。...Django REST框架非常棒,包含了很多有用的功能。但是,现在的主要目标是缩短响应时间,所以该框架是优化的候选对象,尤其是我们要使用的序列化对象这个功能非常的简单。

77930

Django-DRF】多年md笔记第5篇:Django-DRF的Request、Response和视图详解

本文从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实现一个REST API为例,明确后端开发REST API要做的最核心工作,然后介绍Django...Django-DRF全套笔记直接地址: 请移步这里 共 5 章,24 子模块视图Django REST framwork 提供的视图的主要作用:控制序列化器的执行(检验、保存、转换数据)控制数据库查询的执行...APIView与View的不同之处在于:传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象;视图方法可以返回REST framework...* **request** 当前视图的请求对象​ * **view** 当前请求的类视图对象​ * format 当前请求期望返回的数据格式提供的关于数据库查询的属性与方法属性:queryset 指明使用的数据查询方法...:get_queryset(self)返回视图使用的查询,主要用来提供给Mixin扩展类使用,是列表视图与详情视图数据的基础,默认返回queryset属性,可以重写,例如:def get_queryset

17510
领券