Django和DRF的区别

一.Django REST Framwork 和 Django

1.两者的概念:

Django REST Framwork:

将数据库的东西通过ORM的映射取出来,通过view和serializers文件绑定REST接口,当前端请求时,返回序列化好的json。


Django:

将数据库的东西通过ORM的映射取出来,通过view文件,按照template文件排出的模板渲染成HTML。当用户请求相应的url时,返回相应的结果。


2.Django REST Framwork在Django的基础上的改变:


DRF是Django的超集(就是前者有的东西是后者没有的东西),去掉了模板的部分,提供了一个REST的接口,同时也提供了满足该接口的代码工作流。同时,在REST的规范下,升级了权限和分页等功能,增加了限流和过滤搜索等功能。


如果用纯粹的django进行开发,基本上一个页面对应一个视图函数,而这个视图函数完成对数据的请求,数据库的增删改查操作,html页面的渲染,整理成完整的html页面通过http返回给浏览器,最终呈现效果

DRF是不同的前端人员在各自不同的平台上编写所呈现的效果,而后端人员只需要编写API,返回对应的json数据即可

链接:https://www.jianshu.com/p/b670d7c2ea92

Django和DRF的区别的更多相关文章

  1. Django的DRF序列化方法

    安装rest_framework -- pip install djangorestframework -- 注册rest_framework序列化 -- Python--json -- 第一版 用v ...

  2. 写写Django中DRF框架概述以及序列化器对象serializer的构造方法以及使用

    写写Django中DRF框架概述以及序列化器对象serializer的构造方法以及使用 一.了解什么是DRF DRF: Django REST framework Django REST framew ...

  3. Django和Flask的区别以及运行流程

    Django: Python Web框架里比较有名当属Django,Django功能全面,它提供一站式解决方案,集成了MVT(Model-View-Template)和ORM,以及后台管理.但是缺点也 ...

  4. django框架-DRF工程之权限功能

    1.相对于flask,原生而言django,DRF做的则更加的合理化,想要给予用户相应的权限,首先需要在settings中进行配置 REST_FRAMEWORK = { 'DEAFAULT_PERMI ...

  5. Django与drf 源码视图解析

    0902自我总结 Django 与drf 源码视图解析 一.原生Django CBV 源码分析:View """ 1)as_view()是入口,得到view函数地址 2) ...

  6. Django之DRF源码分析(二)---数据校验部分

    Django之DRF源码分析(二)---数据校验部分 is_valid() 源码 def is_valid(self, raise_exception=False): assert not hasat ...

  7. 067.Python框架Django之DRF视图类

    一 关于视图类的一下概念 drf除了在数据序列化部分简写代码以外,还在视图中提供了简写操作.所以在django原有的django.views.View类基础上,drf封装了多个子类出来提供给我们使用. ...

  8. [django]梳理drf知识点

    要实现的功能 idc_list/ get 列出所有 post 创建一个idc idc_detail/1/ get 获取一个idc put 修改一个idc delete 删除一个idc 一般url是这样 ...

  9. django框架-DRF视图中的request和response

    1.Request 相对于django框架,DRF工程的request类则是继承自HttpRequest类,Rest framework提供了parser解释器,用来解释请求中的content_typ ...

  10. Django RestFramework(DRF)类视图

    基础视图 1.基础函数视图(@api_view) DRF提供了一种函数基础视图来装饰Django的普通视图,我们可以使用request来接受请求和response响应.一个小例子: from rest ...

随机推荐

  1. Google 官方 AppCrawles学习小结

    Google 官方 AppCrawles学习小结 AppCrawler可自动化测试应用程序,无需编写和维护任何代码. 可以自动发出(轻按.滑动)等操作执行app,当应用程序崩溃或达到指定的超时时间将终 ...

  2. GUI程序中使用Write语句调试

    Lazarus GUI程序中使用Write语句调试 比如像VB 下的 Debug.print 可直接在立即窗口中打印出调试内容 其实可以使用 WriteLn('XXXX ', XXX); Write( ...

  3. 【Go】发送请求

    发送post请求 reqMap := make(map[string]interface{}) reqMap["order_num"] = request.OutTradeNo r ...

  4. vxWidgets(一):初识

    wxWidgets 和 QT 之间的选择 跨平台的C++ GUI工具库很多,可是应用广泛的也就那么几个,Qt.wxWidgets便是其中的翘楚这里把GTK+排除在外,以C实现面向对象,上手相当困难,而 ...

  5. Python_七十二变_二进制和字符编码

    第二章  七十二变 二进制和字符编码 8bit为1byte   字节 1024byte为1KB  千 1024KB为1MB  兆 1024MB为1GB  吉 1024GB为1TB  太 ASCLL字符 ...

  6. ApiPost前后端人员可以使用的接口测试工具还带生成文档

    整体界面都是全中文非常适合过来使用,在本来使用过 对比来说这个工具调试和界面优化以及生成文档方面都是无可挑剔的 接口请求的参数描述也可以按自己的需求来设置后生成文档,方便了后端接口人员测试后回馈给前端 ...

  7. 2.5 OpenEuler 中C与汇编的混合编程

    2.5 OpenEuler 中C与汇编的混合编程 任务详情 在X86_64架构下实践2.5中的内容,提交代码和实践截图 把2.5的内容在OpenEuler中重新实践一遍,提交相关代码和截图 任务一x8 ...

  8. Vue3中使用JSX简明语法

    掘金JSX:https://juejin.cn/post/7114063575122984973

  9. vuex中的state、mutations 、actions 、getters四大属性如何使用

    一.state (提供唯一的公共数据源) 方式1 在div中,$store.state.count 方式2 import {mapState} from 'vuex' computed:{ -mapS ...

  10. [.Net] 【笔记】基于.NET平台常用的框架整理(转载,侵删)

    分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架. Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度. Redis:是一个高性能的K ...