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

如何封装API(Django软件包EXE)

时间:2023-03-08 17:48:52 网络应用技术

  本文将告诉您Django如何封装API和Django封装EXE的相应知识点。我希望这对您有帮助。不要忘记收集此网站。

  本文目录清单:

  1.(2)Django休息练习:最简单的REST API实施2. Python3.7与Django2.0合作,致电Dingding在线API真实 - 时间监控员工进行检查卡3. DJANGO REST框架框架,邮政,邮政,邮政,邮政,邮政,邮寄,发布,发布,预测,补丁,删除和其他API请求接口设计大约需要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通过此模型的用户认证系统。

  在新的皇冠流行期间,为了避免交叉感染,大多数公司或多或少地采用了远程办公室的方法。这显然是一个明智的选择。它基本上被用作远程办公平台。每天。这是另一回事。指甲提供的解决方案是检查出席的在线卡,但是在移动终端上勤奋地检查该卡片有点努力。您需要在指甲应用中至少单击5次。您无法实时刷新它。锁定OA系统更糟糕,它不像移动那样方便。此外,如果您在一千人中,这家公司拥有数十家部门,那么您对公司的主管主管非常不幸,每天都要根据该部门来获得员工出勤报告,这并不容易。因此,我们的目的是使用Django创建一组真正的时间监视员工的出勤网络平台。

  该项目背景是一家普通技术公司,每个部门有大约五个部门,大约100人

  首先输入指甲开放平台:Open-dev.dingtalk.com

  在企业的内部开发中,请选择一个小程序并创建一个新的应用应用程序。实际上,还有其他选择,例如H5微型应用,主要是小计划和更多的容量。

  填写应用程序名称,配置文件,徽标和其他基本信息。您可以根据需要填写。您不必填写真实信息。这是一个坑。不要忘记配置安全域名或IP。启动检测平台时部署的域名。该应用程序可以将网络通信与指定的域名通信。如果未配置,则指甲接口将报告为403个错误。

  另外,还有一个坑,默认情况下,默认情况下打开的接口。

  如果您需要参加或登录,则必须单独单击该应用程序,这有点难以言喻。必须通过单击鼠标来打开许多接口。Shuang,该产品的设计类似,并且PM的PM很难归咎于PM。

  好的,正面的准备就绪了。现在,我们只需要根据官方文件编写界面即可。选择服务器API文档:

  指甲出勤检查的接口表明这是:

  这里的每个界面都需要一个访问权限来验证。这个令牌通过ID和秘密通过接口交换。可以在申请详细信息的详细信息中获得。

  在这里,我们封装为一种方法

  完成令牌后,您还需要获得部门下所有员工的员工ID,因为出勤接口参数只能接受员工ID,而不是部门ID

  终于问出勤界面

  完整的背景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测试渲染

  让我们谈谈如何将Django封装在API的引入中。感谢您花时间阅读本网站的内容。有关Django如何封装Exe和Django的更多信息。不要忘记在此网站上找到它。