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

如何引入Django嵌套序列化(Django序列化)

时间:2023-03-07 21:11:02 网络应用技术

  简介:许多朋友问有关如何介绍Django嵌套序列的问题。本文的首席CTO笔记将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  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中,有两种编辑Views.py的方法,一个是基于类实现的方法,另一种是功能实现方法。两种方法都可以使用。

  REST框架提供了一个Apiview类,该类是Django视图类的子类。

  视图是Django的默认视图基类。Apiview是REST框架提供的所有视图的基类。继承了Django的观点,扩展了Django的视图,并对认证,授权,当前限制和不同的请求数据分析进行分析。

  一种。统一使用请求对象.DATA属性获得JSON格式的参数,表单参数,文件

  B.使用请求对象.query_params获取查询字符串参数

  C,Django支持参数采集方法,DRF支持所有DRF

  一种。扩展django中的httpresponse

  b。在请求头中实现接受参数以动态返回

  C。默认情况下,如果未传递接受参数或参数为application/json,则JSON格式的数据将返回到JSON格式

  d。如果接受参数为文本/html,则可以返回的API页面(HTML页面)可以返回

  E.Response的第一个参数是序列化后的数据(通常需要使用serializer object.data)

  F.Status指定响应状态代码

  首先使用Django的视图在卡表中获取卡号信息::

  模型。设计卡表

  Views.py视图写作

  urls.py设置访问地址

  REST框架的Apiview继承了Django视图类,并且卡类已序列化。Modelialializer在REST_FRAMEWORK中使用了此处的序列化

  配置urls.py,设置访问地址

  Models.Insurers.Objects.all()似乎生成了所有模型数据JSON,请尝试提取所需的字段。

  或直接处理生成的JSON。获取字段数据

  Django教程-01安装和使用

  在上面的文章中,引入了安装Django的方法。让我们谈谈在此处连接数据库。

  本文主要介绍坑和解决方案

  正常连接和初始化数据库的命令是

  执行此命令时,出现以下错误

  在调查一部分之后,当我配置数据库时,我设置了一层默认值并将其修改如下。

  然后,当您继续执行迁移时,您将报告以下错误

  该机器的环境是Mac计算机。在官方教程上操作时,发现使用MySQLClient安装的Python软件包将取决于MySQL或MySQL-CLIENT的安装,但是当我安装MySQL和MySQL-CLIENT时,我发现了解决方案。后来发现在settings.py文件中,添加了以下代码,即可以连接pymsql。

  或者可以在settings.py中添加代码__init__.py

  然后执行python manage.py迁移命令,以发现该表是成功创建的。新表不影响原始库的其他表。

  1.调试环境安装

  件pydev插头 - 安装

  添加HTTP // PYDEV SF NET/更新自动下载并在主菜单“ Help” - “软件更新...”中安装。

  ?安装安装后,配置

  在主菜单中,“窗口” - “偏好”

  2.创建Pydev Django项目

  ?创建一个新的

  如果您已经有Django目录结构,则可以生成Eclipse项目。你可以通过

  或者

  新建筑。

  只需创建一个即可。

  ?创建的简介

  如果已经有一个指向目录的Eclipse Django项目,则可以通过导入方法引用该项目。

  ?项目设置

  在项目新建或介绍项目后,在项目的右边,选择“属性”并继续配置项目:

  顺便说一句,配置项目类型:

  3.调试设置

  您可以使用以下配置来实现Web调试,也可以单独调试函数:

  配网络调试方法配置

  Web调试实际上是用于调试的内部“ Manage.py Runserver -noreload”功能。

  设置后,每次运行调试选项。以下说明在运行时出现在控制中心中:

  然后选择浏览器中的相关URL,只需中断您需要调试的位置的点即可。

  在PYDEV中,您无法在修改代码后立即工作。您必须重新审理。这也是Noreload的角色。

  ?单功能验证

  有时,您只想单独运行一个函数,您可以单独运行Python函数以进行运行。Python的功能调试非常简单;但是对于Django来说,因为它不在Web配置中,因此在调试Django函数时,您总是会失败,因为找不到相关设置。您可以在代码中指定设置。

  测试功能:

  #Import Django项目设置

  #django.bin.mypython是Django项目所在的目录

  导入操作系统

  OS.Environ

  #解释说,如果使用了序列化方法,则以上方法将表明找不到许多应用模块;

  #建议使用以下方法是最好的

  来自django.core.Management Import Setup_environ

  导入django.bin.mypython.settings

  setup_environ(django.bin.mypython.settings)

  #没有解决方案。

  #测试功能,请注意,网络没有调用请求。

  来自django.core导入服务器

  来自mypython.addressbook.models导入地址

  def test():

  objs = address.objects.all()

  str = serializers.serialize(“ json”,objs)#serialization to json对象

  打印str

  #运运

  测试 ()

  设置调试项目

  然后运行。

  可以先测试单位测试。

  结论:以上是COTO注释为每个人编制的Django嵌套序列的相关内容的相关内容摘要。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?