当前位置: 首页 > 网络应用技术

如何在Django中编写接口(Django自动生成接口文档)

时间:2023-03-08 20:26:47 网络应用技术

  简介:许多朋友问有关Django如何编写接口的问题。本文的首席执行官注释将为您提供一个详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  自动化接口时,有时会遇到图片上传的接口。目前,内容类型不是应用程序/JSON。

  这是DRF编写图片上传界面和测试。

  1.写图片上传界面

  首先创建一个文件夹我们要存储文件,并在settings.py中配置路径:

  在项目的urls.py中配置媒体路线:

  在应用程序的models.py中创建模型:

  并在serializer.py中创建序列化:

  写视图。

  urls.py配置路由到应用程序:

  最后,让我们测试:

  1)使用API关键字识别接口URL

  2)优先选择接口数据安全性确定来选择HTTPS协议

  3)如果界面有多个版本,则需要在URL中的出价中反映

  4)接口参数的数据源称为资源。在URL中,通常使用资源复数形式。一个接口可以总结资源的多重操作方法

  5)有许多请求方法,如何使用URL来处理如何确保它不混淆,以通过识别请求方法来识别资源方法

  2)状态代码文本提示

  4)无法直接返回的资源(子资源,图片,视频和其他资源),返回资源的URL链接

  1. API接口功能要求:设计一些接口URL,以允许前端/客户请求此URL获取数据并显示,更改数据(添加,删除和检查)

  其次,设计逻辑:获取,发布,放置,补丁,删除通过HTTP协议请求符合恢复规格的设计

  第三,简单的源代码:

  3.序列化序列化

  #IMPORT模型类和REST_FRAMEWORK序列化模块序列化器

  从.models导入文章

  来自REST_FRAMEWORK导入序列化器

  #Define序列化类,使用Modelerializer方法

  class carticleSerializer(serializers.modelserializer):

  元类:

  模型=文章#Specify序列化模型类

  fields ='_ all _'#select序列化字段,您可以自己选择该字段

  4.查看功能视图

  来自django.http导入httpresponse

  来自django.views.decocotors.csrf导入csrf_exempt

  从.models导入文章

  从.Serializer Import ArticleSerializer

  来自REST_FRAMEWORK.RENDERERS导入JSONRENDERER

  来自REST_FRAMEWORK.PARSERS导入JSONPARSER

  #CH致电CSRF装饰CSRF_EXEMPT模块解决交叉域访问问题

  #jsonrenderer,将python的dict转换为客户

  #JSONPARSER负责转换要求接收到DICE的JSON数据

  #写写一

  #call the Docoration @csrf_exempt在越过域视图的需要

  @csrf_exempt

  DEF ARTICE_LIST(请求):

  如果request.method =='get':

  Arts = Article.Objects.all()#get模型数据

  ser = carticleSerializer(实例=艺术,许多= true)#serializatized数据实例

  #Next,在REST_FRAMEWORK方法中使用JSONRENDER方法渲染数据

  JSON_DATA = JSONRENDERER()。渲染(ser.data)

  返回httpresponse(json_data,content_type ='application/json',status = 200)

  #写法2

  jsonresponse类(httpresponse):

  def _ init(self,data,** kwargs):

  content = jsonrenderer()。渲染(数据)

  kwargs ['content_type'] ='application/json'

  super(jsonresponse,self)._ init(内容,** kwargs)

  #prand和删除并根据ID修改操作接口

  @csrf_exempt

  DEF ARTICE_DETAIL(请求,ID):

  尝试:

  art = article.objects.get(id = id)

  除了文章。

  返回httpresponse(状态= 404)

  评论:

  *写入方法II定义JSONRESPONSE类以打包返回的数据数据和content_type返回类型

  *API接口

  获取/发布

  获取/put/patch/delete

  *Postman测试渲染

  结论:以上是首席CTO的所有内容都注明了Django如何编写界面。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注此网站。