首页 > 其他分享 >drf

drf

时间:2023-12-20 21:00:13浏览次数:26  
标签:文件 前端 接口 django json 格式 drf

Web开发模式

前后端混合开发模式:

  • 前端写模板,后端处理完数据再渲染后再传给前端展示效果
    image

前后端分离开发模式:

  • 前端发送请求把数据传给后端,后端查询数据处理完以json格式返回给前端,前端渲染完展示页面
    image

API接口

API四大特点

# api接口:通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介
	https://www.baidu.com/books/--->json 格式数据/xml格式---》接口
	json格式:{''}字符串
    xml格式:HTML

# Web API接口和一般的url链接还是有区别的,Web API接口简单概括有下面四大特点
	1 url:长得像返回数据的url链接
    https://api.map.baidu.com/place/v2/search
    2 请求方式:get、post、put、patch、delete
    
    3 请求参数:json或xml格式的key-value类型数据
		-ak:6E823f587c95f0148c19993539b99295
		-region:上海
		-query:肯德基
		-output:json
	
	4 响应结果:json或xml格式的数据
    https://api.map.baidu.com/place/v2/search?ak=6E823f587c95f0148c19993539b99295&region=%E4%B8%8A%E6%B5%B7&query=%E8%82%AF%E5%BE%B7%E5%9F%BA&output=json
	
	# 数据由ajax技术自动转为json格式(字符串)传到后端,后端转为别的格式处理完再以json格式返回给前端
	

接口测试工具

工具:
-postman:浏览器插件,收费
-apifox:Postman + Swagger(接口文档) + Mock(假数据) + JMeter(压测工具)
-postwoman:开源

# 下载和安装
	-https://www.postman.com/
    -双击:Postman-win64-Setup.exe  下载后的软件

postman的路由地址:
1 不会自动补充/
2 在浏览器中会自动补充/,因为它有重定向,当报错是3xx时,会自动再发送一次请求
image
image
image

postman前端编码格式(重要)

1、前端不同编码格式
1 urlencoded

body体中:username=lqz&password=123 django的request.POST取出值

2 json:

body体中 :{"username":"lqz","password":"123"}  django  的request.POST取不出值

3 form-data:

body中格式固定:数据部分和文件部分--》request.POST能取出数据,取不出文件,文件都是从request.FILES
      # 以后一般只传文件,不会文件和数据一起修改
    '----------------------------789048583058585187025897\r\nContent-Disposition: form-data; name="username"\r\n\r\nlqz\r\n 文件二进制'  # 上传图片文件,返回数据,前面是路由,后面是图片的二进制
    # hander请求头
    # \n请求尾
    # \r\n\r\n结束

2、不用pycharm创建项目

  • django-admin startproject 项目名

3、django中的文件对象和原来的文件对象

	-django:from django.core.files.uploadedfile import InMemoryUploadedFile
    -原生文件:_io.BufferedWriter
    -django中文件类没有继承原生文件类,但是由原生文件类所有方法

标签:文件,前端,接口,django,json,格式,drf
From: https://www.cnblogs.com/strawberry-cxs/p/17917568.html

相关文章

  • drf之APIView分析与Request分析
    一、APIView执行流程分析1.1基于APIView+JsonResponse编写接口#原来基于django原生的View编写接口#drf提供给咱们的一个类,以后使用drf写视图类,都是继承这个类及其子类,APIView本身就是继承了Django原生的ViewclassBookView(APIView):defget(self,request):......
  • drf入门到精通 day3
    APIView执行流程分析1在路由中:path('books/',views.BookView.as_view()),请求来了#2先看as_view()---->APIView的as_view---》as_view执行结果跟之前一样,去除了csrf认证@classmethoddefas_view(cls,**initkwargs):view=super().as_view(**initkwa......
  • drf( Restful规范——序列化与反序列化——DjangoRESTframewordk用法——原生与drf实
    #Restful规范(重要-概念)```python#API接口---》后端要提供api接口---》2000年RoyFielding的博士论文中###restful是什么?REST全称是RepresentationalStateTransfer,表征性状态转移WebAPI接口的设计风格,尤其适用于前后端分离的应用模式中#有哪些规范10条 1数据的安全......
  • drf 01 day
    前后端开发模式 在开发Web应用中,有两种应用模式: -前后端混合开发---》bbs项目:render+ajax -套路一:全栈开发(后端,前端)--》前端html+后端都是一个人写-套路二:前端人员后端人员 -前端人员---》写空页面--->没有模板语法,只要html,css少量js......
  • drf实战和源码剖析----学习笔记1
     学自:bilibili武沛齐老师.武老师讲课:清晰,连贯,实用,透彻,真乃名师!#1.什么是前后端分离-不分离,主要用于后台系统(CRUD)和用户量上的情况,开发起来代价小-分离,面向用户,大量,几十万-根据实际情况#2.什么是drf?作用是什么?#3.必备工具:postman做为后端开发人员,要......
  • Django DRF - 框架安装使用(一)
    DRF-框架安装使用一.在开发Web应用中,有两种应用模式前后端不分离前后端分离DRF框架使用了前后端分离的模式二.Restful设计方法请求url(路径)请求方法1.路径资源作为网址,只能有名词,不能有动词,而且所用的名词往往与数据库的表名对应。举例来说,以下是不好的例子:/getProducts/li......
  • DRF框架视图类清晰整合
    2个视图基类&5个视图mixins扩展类&9个GenericAPIView的视图子类&5个viewsets视图集基类2个视图基类APIView等级最高但是写起来代码量也最多#基于APIView写的view.pyclassBookView(APIView):defget(self,request):book_obj=models.Book.objects.all()......
  • drf之——状态码
    状态码为了方便设置状态码,RESTframewrok在rest_framework.status模块中提供了常用状态码常量。导入:fromrest_frameworkimportstatus提示:默认响应状态码200 1)信息告知-1xxHTTP_100_CONTINUEHTTP_101_SWITCHING_PROTOCOLS2)成功-2xxHTTP_200_OKHTTP_201_CREA......
  • drf高级用法之——source
    source的用法(三种): 1.修改前端看到字段key的值(自定义key值)name="三国演义"#修改为book_name="三国演义" 使用代码书写:序列化类(serializer.BookSerializer)中书写:book_name=serializers.CharField(source='name') 2.修改前端看到的value值(同时也可以自......
  • 【Django-DRF用法】多年积累md笔记,第(4)篇:Django-DRF反序列化详解
    本文从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计RESTAPI,通过使用Django来实现一个RESTAPI为例,明确后端开发RESTAPI要做的最核心工作,然后介绍DjangoRESTframework能帮助我们简化开发RESTAPI的工作。全套DRF笔记直接地址:请移步这里共5章,24子模块,总计1......