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

Django如何返回JSON数据类型?

时间:2023-03-09 12:22:33 网络应用技术

  指南:本文的首席执行官注释将介绍有关Django如何返回JSON数据类型的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  Django做了很多工作来简化我们的网络开发工作。当然,它还包括从客户接收数据的普遍需求。在大多数情况下,从客户端传输的数据主要是表单的帖子数据,从uroldata中获取,与帖子相对应并获得django中的httprequest对象的属性,例如,以读取用户名用户名输入框中的表单中的用户名用户名输入框形式::

  def someview(请求):

  用户名= request.post.get('用户名');

  ... ... ...

  在Web2.0时代,如果我们以JSON格式数据从客户端传递,则以上方法无法正常读取数据。有人可能会问,为什么我们必须以JSON格式使用数据,而不是直接编码为形式,而不是直接形成形式,而不是直接分为形式,以形式为形式数据?因为JSON格式可以更好地反映数据的层次结构,因此形式形式的数据只能是单层。

  以下是如何从HTML发送JSON并在Django接收JSON数据的演示。

  在HTML中,可以通过JSON对象以JSON格式发送数据。

  用户名用户名

  密码密码

  一个数组,每个数组包括:游戏编号game_id和得分级别

  然后,您可以使用以下JavaScript(jQuery)代码:

  脚本类型=“ text/javascript”

  $(function(){

  $('#upload')。单击(函数(){

  var json_obj = {

  用户名:$('#username')。val(),

  密码:$('#password')。val(),

  数据:[[

  {{{

  game_id:$('#datas1')。val(),

  级别:$('#Level1')。val()

  },,

  {{{

  game_id:$('#datas2')。val(),

  级别:$('#Level2')。val()

  }

  这是给予的

  };// json对象

  var json_str = json.stringify(json_obj);//将JSON对象变成JSON格式字符串

  $ .post(“/datasave”,json_str,回调,“ json”);

  })

  功能回调(JSON){

  $('#response')。html('代码:' + json ['status'] ['code'] +“消息:” + json ['status'] ['message']);

  }

  })

  /脚本

  在上面的代码中,数据将发送到/datasave。在django中,如果视图方法也用于读取数据,则全部没有获得。目前,对于字典DICE数据类型,当时的使用很简单,如下所示:

  DEF DATASAVE(请求):

  dict = {}

  info ='数据日志保存成功'

  尝试:

  如果request.method =='post':

  req = simplejson.loads(request.raw_post_data)

  用户名= req ['用户名']

  密码= req ['密码']

  datas = req ['datas']

  game_id1 = datas [0] [game_id']

  除了:

  导入系统

  info =“%s ||%s”%(sys.exc_info()[0],sys.exc_info()[1])

  dict ['消息'] =信息

  dict ['create_at'] = str(ctime())

  json = simplejson.dumps(dict)

  返回httpresponse(JSON)

  request.raw_post_data是指从客户端发送的原始数据。对于纯字符串,通过SimpleJson Loads方法,它将其转换为字典数据类型REQ。

  上面的代码还演示了如何使用JSON格式作为响应值,而不是HTML,即通过SimpleJson的转储方法,字典数据命令序列被序列化为字符串形式。它将通过httpresponse返回。

  使用Python提供的JSON软件包在Django模型的定义中为Tojson添加了一种方法。使用django模型访问_meta.fields获取相关属性。示例如下::

  类别类别(Models.Model):

  autoid = model.autofield(primary_key = true)

  电子邮件= models.charfield(max_length = 150,空白= false)

  comtype = models.charfield(max_length = 20,空白= false)

  catName = models.charfield(max_length = 150,空白= false)

  def __unicode __(self):

  返回'%s'%(self.catname)

  def tojson(self):

  导入JSON

  

  然后使用Django查找数据并将其转换为JSON。代码如下:

  行= models.category.objects.get(autoid = 23)

  打印行。

  没关系

  引入渲染

  从django.shortcuts导入渲染

  返回时,将httpresponse更改为返回渲染,类似于

  返回渲染(请求,'https://www.shouxicto.com/article/index.html',{'username':'johanna':'johanna','pic':'001.png'})

  结论:以上是为您编写的主要CTO注释,Django如何返回JSON数据类型的相关内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?