【问题标题】:Django Rest Framework: How to show serialized value in django template?Django Rest Framework:如何在 Django 模板中显示序列化值?
【发布时间】:2018-07-30 06:43:15
【问题描述】:

我正在尝试在 Django 模板中显示序列化数据。我正在使用 Django Rest 框架。使用 Ajax 我刚刚尝试在 html 模板视图的文本区域中显示序列化数据。

在 view.py 中,起初,我尝试从列表中制作字典。然后将其发送到 serializer.py 以使其成为 JSON 数据。完成此操作后,我只需发送该序列化数据。从模板中,我使用 ajax 来获取这些数据并将这个值设置在一个由 ID 标识符获取的 textarea 中。

但它没有显示文本区域中的值。在 textarea 中,它只打印“[object Object]”。那么,如何在 textarea 中显示序列化的数据呢?

这是我的view.py:

@csrf_exempt
def result(request):
    text = request.POST['test']
    triples = getTriples(text)

    keys = ['sub','predi','obj']
    demo_data = dict(zip(keys,triples[0]))
    serializer = SentenceListSerializer(data=demo_data)

    if serializer.is_valid():
         serializer.save()
return JsonResponse(serializer.data, safe=False)

Ajax 代码:

$.ajax({
      method: 'POST',
      dataType: 'json',
      async: true,
      data: {'test': info},
      success: function(response_data){
        $('#textareashow').val(response_data);

      }
    });

【问题讨论】:

  • 您必须迭代 response_data。然后你会得到相应的结果。
  • 我正在尝试这样做$.each(response_data, function(key, value){ $('#textareashow').append(key + ":" + value +"\n");,但它只显示最后一个值。另一个问题:如果序列化有 2 个对象值。如何显示那些使用迭代?

标签: python ajax django django-rest-framework


【解决方案1】:

你可以使用JSON.stringify(response_data)

在您的 ajax 成功函数中放置此代码 $('#textareashow').val(JSON.stringify(response_data));

【讨论】:

  • 使用 JSON.strigify 将数据转换为字符串,但我想显示 JSON 格式的数据。有可能吗?
  • 样本输出:{ { fisrtname: "xxxx", lastname: "yyyy", email: "zzz@gmail.com" } { fisrtname: "xxxx", lastname: "yyyy", email: "zzz@gmail.com" } }
  • 您需要遍历列表并附加它。我从上面的评论 var data=''; $.each(response_data, function(key, value){ data += key + ":" + value +"\n";} $('#textareashow').append(data); 修改了你的代码
  • 谢谢。当我从视图中只传递一个人的信息时,它会起作用。那么,如果我想从视图中传递多个人的信息,我应该在 view.py 中做什么?
  • 您需要将查询集传递给序列化程序并设置many=True 即。 SentenceListSerializer(data=queryset, many=True)
猜你喜欢
  • 1970-01-01
  • 2013-11-27
  • 1970-01-01
  • 2021-04-19
  • 2018-11-21
  • 2020-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多