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

如何保护API(Django修改数据)

时间:2023-03-06 23:20:42 网络应用技术

  本文的主要首席技术官将介绍有关Django如何保护API和Django修改数据的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  本文目录清单:

  1. DJANGO REST框架 + DRF-YASG的数据修改方法API文档网页2. Python(12)练习Django-Restful API 3,Django Rest Framework框架框架获取,帖子,PUT,PUT,PUT,PATCE,PATCH,PATCH,PATCH,PATCH,PATCH,PATCH,DELETE,DELETE和其他API请求接口设计4(2)Django休息练习:最简单的REST API实施操作_summary:操作名称如下所示

  操作_desscripting:接口简介如下所示

  操作_id:操作方法名称如下所示

  手动_Parameters:在参数中修改参数描述

  request_body:张贴发送内容如下所示

  响应:响应的内容如下所示

  枚举:定义修改后字段的参数值,默认编写第一个字段。如下所示

  描述:字段说明

  类型:字段需要什么类型的数据

  type_object =“对象”

  type_string =“字符串”

  type_number =“数字”

  type_integer =“整数”

  type_boolean =“布尔值”

  type_array =“数组”

  type_file =“文件”

  格式:如何验证

  format_date =“ date”

  format_datetime =“ date time”

  format_password =“密码”

  format_binary =“二进制”

  format_base64 =“字节”

  format_float =“ float”

  format_double =“ double”

  format_int32 =“ int32”

  format_int64 =“ int64”

  format_email =“电子邮件”

  format_ipv4 =“ ipv4”

  format_ipv6 =“ ipv6”

  format_uri =“ uri”

  format_uuid =“ uuid”

  format_slug =“ slug”

  format_decimal =“十进制”

  关于RESTFUL API,您可以阅读和理解RESTFUL架构和Restful API设计指南。

  RESTFUL API在Django中易于实现,并且有一个准备好的框架。

  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测试渲染

  在本节中大约需要10分钟。

  之前,我们已经了解了Django如何在HTTP请求中获取内容以及如何获取HTTP请求的主体。Next,让我们编写最简单的API。此API要求将JSON格式放在请求HTTP主体中,并在此之后进行处理。解析文本,并以JSON格式返回数据。

  我们将API的URL定义为/api/sum/,该函数将总结两个数字并返回。

  请求中的身体格式是:

  响应的格式是:

  作为响应,我们的数据结构略有复杂。

  之后,我们所有的REST API将以这种统一格式返回数据。两个不同的REST API之间的主要区别在于数据域。

  在(1)中,我们建立了一个名为task_platform的Django项目。目录结构如下:

  输入Django项目目录,然后在task_platform中编辑views.py文件。

  在:

  编辑task_platform/urls.py,添加我们刚刚实现的API处理功能。

  运行Django服务器:

  使用Postman仿真请求,您可以看到:

  练习后,我们学会了如何实现简单的REST API!我们的API基于此通信模型(当然有一些API使用GET方法)。随后,我们将看到如何实现A的REST API通过此模型的用户认证系统。

  结论:以上是首席CTO的全部内容,请注意Django如何保护API。感谢您花时间阅读内容,不要忘记在此网站上找到它。