rest_framework.generics.ListCreateAPIView
在DRF官方教程的学习过程中,一个很明显的感受是框架在不断地进行封装,我们自己写框架/工具/脚本/平台也可以模仿模仿,先完成底层代码,再做多层封装,让使用者很容易就上手操作。本文是教程的最后一篇,介绍ViewSets和Routers。
对于视图集ViewSet,我们除了可以自己手动指明请求方式与视图方法[官方文档中也叫action,动作]之间的对应关系外,还可以使用Routers来帮助我们自动生成路由信息。
一条路由规则就是一个Route对象,实例Route对象的参数不同,划分了四类(DynamicRoute也算类Route类):
ViewSet视图集类不再实现get()、post()等方法,而是实现动作 action 如 list() 、create() 等。
在django_venv 虚拟环境里面创建一个helloworld项目,并且创建一个quickstartapp ,也就是再创建一个app。 ,并且连接数据库,现在是连接mysql数据库,将app映射到数据库里面
Django REST Framework(以下简称DRF)是基于Django框架构建的Web API框架。在DRF中,路由器(Router)是一个非常有用的工具,可以帮助我们轻松地定义API的路由,实现快速、可维护的API开发。
我们将使用 django-rest 创建一个简单的API,以允许管理员用户查看和编辑系统中的user和group。
官方文档:http://www.django-rest-framework.org/ drf为我们提供强大的通用view的功能,本博客对这些view进行简要的总结分析。 首先,我们看一下主要的几种view以及他们之间的关系。
实战:用户模块,登录注册接口 视图 from django.shortcuts import render from rest_framework.viewsets import ViewSet from rest_framework.decorators import action from django.contrib.auth.hashers import make_password, check_password from rest_framework.response import Respons
DRF即Django REST framework的缩写,官网上说:Django REST framework是一个强大而灵活的工具包,用于构建Web API。简单来说:通过DRF创建API后,就可以通过HTTP请求来获取、创建、更新或删除数据(CRUD)。
Django REST框架构建Web API。Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
一次性验证码,英文是 One Time Password,简写为 OTP,又称动态密码或单次有效密码,是指计算机系统或其他数字设备上只能使用一次的密码,有效期为只有一次登录会话或很短如 1 分钟。OTP 避免了一些静态密码认证相关系的缺点,不容易受到重放攻击,比如常见的注册场景,用户的邮箱或短信会收到一条一次性的激活链接,或者收到一次随机的验证码(只能使用一次),从而验证了邮箱或手机号的有效性。
Django REST Framework是基于Django的一个用于构建Web API的框架。它提供了许多用于构建Web API的工具和实用程序,其中最常用的是类视图。类视图是一种Django REST Framework的API视图,它是基于类的视图。它提供了一种方便的方式来编写可重用的Web API视图,并带有许多有用的内置功能。
在goods文件夹下面新建view_base.py,为了区分django和django rest framework的view
本项目旨在使用Django、Vue和REST Framework等技术开发一个前后端分离的生鲜电商平台。
Django 和 Django REST framework 是 Python 开发者常用的框架组合,通常来说,一个典型的 DRF 式 API 可能长这个样子:
五、商品列表页 5.1.django的view实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分django和django rest framework的view 利用Django的view实现返回json数据 # goods/view_base.py from django.views.generic import View from goods.models import Goods class GoodsListView(Vie
我们的博客有一个侧边栏功能,分别列出博客文章的分类列表、标签列表、归档时间列表,通过点击侧边栏对应的条目,还可以进入相应的页面。例如点击某个分类,博客将跳转到该分类下全部文章列表页面。这些数据的展示都需要开发对应的接口,以便前端调用获取数据。
在 Django REST Framework 中,我们可以使用路由(Router)来自动生成 API 的 URL 路由。路由可以根据视图集的方法自动创建 URL 路径,从而简化 URL 路由的配置工作。
APIView:DRF提供的所有视图的基类,继承View并扩展,具备了身份认证、权限检查、流量控制等功能
实战-DRF快速写接口 开发环境 Python3.6 Pycharm专业版2021.2.3 Sqlite3 Django 2.2 djangorestframework3.13 测试工具 Postman 📷 需求 注册接口,包含字段用户名,密码,确认密码,用户类型 登陆接口,校验用户名,密码,生成随机字符串 认证功能,除了注册登陆接口外,所有接口都要登陆后访问 频率限制功能,每分钟访问5次,book的所有接口,使用这个频率类 权限限制功能,publish的所有操作需要超级用户能访问,其他的普通登陆用户就
在做其他事之前,我们会用virtualenv创建一个新的虚拟环境。这将确保我们的包配置与我们正在工作的其他项目完全隔离。
一、项目介绍 1.1.掌握的技术 Vue + Django Rest Framework 前后端分离技术 彻底玩转restful api 开发流程 Django Rest Framework 的功能实现和核心源码分析 Sentry 完成线上系统的错误日志的监控和告警 第三方登录和支付宝支付的集成 本地调试远程服务器代码的技巧 1.2.系统构成 vue前端项目 django rest framework 系统实现前台功能 xadmin后台管理系统 vue部分: API 接口 Vue 组件 与api的交互 vu
博客:https://www.jianshu.com/u/9fcd71535294
在 RESTful 架构中,对资源的常规操作无非就是查询、新增、修改、删除等这么几种。为此,django-rest-framework 分别提供了对应通用类视图函数。但是,如果对同一个资源的不同操作逻辑分散在各个视图函数中,从逻辑上来说不太合理,实际中管理起来也不是很方便,还会产生很多重复性的代码。因此,django-rest-framework 引入了视图集(Viewsets),把对同一个资源的不同操作,集中到一个类中。同样的,针对 Web 开发中的常见逻辑,django-rest-framework 也提供了通用视图集,进一步简化开发工作。
此前我们一直在操作博客文章(Post)资源,并借此介绍了序列化器(Serializer)、视图集(Viewset)、路由器(Router)等 django-rest-framework 提供的便利工具,借助这些工具,就可以非常快速地完成 RESTful API 的开发。
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
目录 不会DRF?源码都分析透了确定不来看? 快速使用DRF写出接口 序列化和反序列化 drf快速使用 views.py serializer.py urls.py 在settings的app中注册 models.py postman测试 CBV源码流程分析 Django View和DRF APIView的小插曲 DRF之APIView和Request对象分析 APIView的执行流程 Request对象分析 原来的django中没有request.data,造一个! 不会DRF?源码都分析透了确定不来看?
以下为了撰写方便,直接把Django REST framework 简称为DRF。
先来看看这其中的人情世故:两个视图基本类,五个扩展类,九个视图子类,视图集方法,视图集··
在项目开发中,例如web项目的前后端分离开发,需要由前后端相关人员共同定义接口,编写接口文档。之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护。一个好的接口文档能够帮助我们快速上手这类项目、便于阅读已有代码、对接接口自动化测试等等
Overthinking ruins you. Ruins the situation, twists it around, makes you worry and just makes everything much worse than it actually is.
1.视图中的request对象不再是Django中 HttpRequest类的对象,而是由DRF框架封装成的 Request类的对象。
本文会继续上一篇文章《DRF系列总结一:DRF是什么,要不要用?》,在Django基础工程的基础上,安装DRF并进行配置:比如统一接口返回格式、统一异常处理等,并在后面的文章中,不断完善出一套DRF脚手架,以降低后面的开发同学的趟坑成本。
一、课程导学 学完的掌握技术 1.Vue+Django REST Framwork前后端分离技术 2.彻底玩转restful api开发流程 3.Django REST Framwork的功能实现和核心源码分析 4.Sentry完成线上系统的错误日志的监控和警告 5.第三方登录和支付宝支付的集成 6.本地调试远程服务器代码的技巧 课程系统的构成 1.vue前端项目 2.Django REST Framwork系统实现前台功能 3.xadmin后台管理系统 Django REST Framwork技能 通用v
版权声明:Copyright © https://blog.csdn.net/zzw19951261/article/details/80995504
写下这篇文章,一方面记录Django REST framework的体验过程,同时借此解读下REST架构风格。
全文以后端开发视角写作,部分涉及到前端开发的介绍可能存在错误或者不准确,欢迎在评论区斧正
drf 传入视图的request 不再是Django默认的HttpRequest对象,而是drf 提供的拓展了HttpRequest 类的Request 类的对象。
重写 get_serializer_class和get_queryset,根据不同的操作返回不同的序列化器类和不同的查询集。
文档路由对应的视图配置为rest_framework.documentation.include_docs_urls,
REST是一种软件架构设计风格,不是标准,也不是具体的技术实现,只是提供了一组设计原则和约束条件。
API 不可能一成不变,无论是新增或者删除已有 API,都会对调用它的客户端产生影响。如果对 API 的增删没有管理,随着 API 的增增减减,调用它的客户端就会逐渐陷入迷茫,到底哪个 API 是可用的?为什么之前可用的 API 又不可用了,新增了哪些 API 可以使用?为了方便 API 的管理,我们引入版本功能。
领取专属 10元无门槛券
手把手带您无忧上云