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

django-rest-framework框架学习

中很著名的一个框架django-rest-framework,帮我们减少了很多工作量,尤其在序列化与反序列化成我们需要的格式帮了我们省了很多事 在这里就记录一下个人的学习过程 django-rest-framework...,在数据库中创建表 在终端中输入 python manage.py makemigrations python manage.py migrate 在数据库里插入几条测试数据后如图所示 实现序列化类...官方文档:http://www.django-rest-framework.org/api-guide/serializers/ 创建serializers.py在其中实现序列化类 由于这个序列化是和我们的模型想对应的相关...id', 'student_id', 'name', 'age') 其他相关的参数可以查阅官方文档,都有详细的介绍 这里我们只简单的显示所有的字段 实现视图api类 官方文档: http://www.django-rest-framework.org...# coding=utf-8 import re from rest_framework import serializers from django.contrib.auth.models import

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

Django REST 框架详解 01 | 安装与数据库配置

Django Rest Framework (DRF)是基于 Django 框架,用于构建 Web API 的工具集。...提供 REST 接口开发规范 验证策略,包括 OAuth1a 和 OAuth2 支持ORM 和 非 ORM 数据源的序列化与反序列化操作 基于函数的视图操作 目前 Red Hat,Mozilla,Heroku...生物信息数据库开发中,EBI也使用 Django REST framework 作为开发工具 DRF 官网:https://www.django-rest-framework.org/ GitHub:https...://github.com/encode/django-rest-framework/tree/master 二、材料 Python3 MySQL / Sqlite3 Pycharm:搭建 Python...四、连接数据库 这里有提供两种选择 Sqlite3 Django 安装好默认会调用 Sqlite3,如果没有安装会报缺少 sqlite dll 文件的错误 解决参考:Windows 与 Linux 安装

1.2K30

Django REST 框架详解 05 | 视图家族 Mixins

视图工具集 1.群查 查看源码 代码实现 测试接口 2.单查 查看源码 代码实现 测试接口 3.单增 查看源码 代码实现 测试接口 4.单改 查看源码 代码实现 测试接口 零、视图家族 Django...REST framework 为了方便视图类的操作,构建了包括以下几种视图类和工具集: views:API视图 generics:工具视图 mixins:视图工具集 viewsets...get_queryset(): 类属性 queryset 中获得 model 的 queryset 数据 get_object(): 通过有名分组 pk 确定唯一操作对象 自定义主键的有名分组 :lookup_field...= ‘id’ get_serializer():类属性 serializer_class 中获得serializer 的序列化类 二、Mixins:视图工具集 mixins.py:视图工具集,用来辅助...kwargs) # 添加自己封装的 APIResponse return APIResponse(results=response.data) urls.py from django.conf.urls

1K10

Django REST 框架详解 10 | 频率认证组件

接口测试 一、频率组件 通过分析源码了解频率认证组件的方法调用过程 APIView 的 dispatch 中使用 initial 方法实现初始化并进行三大认证,第三步进行权限组件调用 rest_framework...= max(durations, default=None) self.throttled(request, duration) # 获取频率...throttle() for throttle in self.throttle_classes] 在 drf 设置文件查看默认权限配置 可以看到默认设置中并没有对访问频率做限制,也就是说可以无限次访问 rest_framework...返回可以根据手机号动态变化,且不易重复的字符串,作为操作缓存的 key return f'throttle_{self.scope}_{mobile}' settings.py # 全局局部配置 REST_FRAMEWORK...request, *args, **kwargs): return APIResponse(0, 'Verification code successful') urls.py from django.conf.urls

82030

django-rest_framework api框架学习day1

今天开始了django-rest-framework的学习 *** 其实api写起来的话要比前后端一起写要简单很多,因为你不需要关心前端怎么写,主要心思放在后端上面即可,前端的话随便找个模板,然后用...’, ‘rest_framework’, ‘ajax’, ] *** 注册完成之后路由上的写法也有些不同, URL中 *** from django.urls import path...*** 最主要的两个包 **** 用于api类的继承 from django.views import View 用于json格式数据的输出, from django.http import...HttpResponse(‘我是被执行的’) @csrf_exempt def get(self,request,*args,**kwargs): set={ ‘code’:100, ‘meg’:’获取成功...原生django对urlencoding会进行解析兼容较好,其余的都不会进行解析 *** ##下面是rest_framework框架 *** from rest_framework.serializers

1.3K40

Django REST 框架详解 06 | 视图家族 Generics 与 Viewsets

比如,来自前端用户的数据格式并不是和我们规定的一样,有可能传来空值,错误字符等等。这就需要对 request.data 进行过滤,尤其是在入库的时候。...另外,如果数据有误,DRF 并不知道你的字段是哪出的问题,所以抛异常是只会是数据错误。我们需要对每个字段的每种错误类型给出对应的返回值。...import admin from django.urls import path from django.conf.urls import url, include from django.views.static...查看数据库 ? 单增 ? 入库成功 ? 等等 总结 GenericAPIView 与 APIView 的区别与适用场景 1....案例 2: 用户登录时,发送的 POST 请求,并不是完成数据的新增。POST 只是用于提交数据,返回值也不是登录用户信息,而是登录的认证信息。

1.1K20

如何为微服务选择REST框架

让我们比较一下几个开源的RESTful框架对大量请求的响应时间。Jersey和Resteasy被选为服务器端RESTful服务。...三个图显示了框架性能在不同时间如何变化的透视图。上面的图表还展示了关于REST框架在服务器端和客户端性能的一些想法。时间性能上看,Spring Boot 2.0是最好的,Jersey客户机是最差的。...与普通的REST框架(如Jersey、Resteasy和Spring Boot)相比,Javalin和Spark等独立框架运行缓慢。像OkHTTP和Unirest这样的客户端框架在性能方面是相似的。...尽管有上述结果,但每个框架都有自己的优点和缺点。...像Spark和Javalin这样的独立REST框架很容易实现,而且不局限于任何技术栈,比如Spring Boot.Jersey和Resteasy有定制的优势。

1.3K20

Django REST Framework-如何使用视图集(三)

定制视图集操作视图集提供了一些通用的操作,例如获取列表、创建对象、获取详情、更新对象、部分更新对象和删除对象等。如果需要定制这些操作的行为,可以在视图集中重写对应的方法。...我们使用 self.request.user 获取当前请求的用户,并将其设置为新书籍的作者。...另一个例子是定制 list() 方法,以便在获取书籍列表时只返回当前用户的书籍:class BookViewSet(viewsets.ModelViewSet): serializer_class...我们使用 self.request.user 获取当前请求的用户,并将其用于过滤书籍列表,只返回当前用户的书籍。视图集类型DRF 中提供了多种视图集类型,可以根据不同的需求选择合适的视图集类型。...GenericViewSet: 提供了多种操作,例如列表、创建、获取详情、更新、部分更新和删除等。ViewSet: 不提供任何操作,需要手动在子类中定义操作方法。

59531
领券