gpt4 book ai didi

python - 无法获取 Django 模板来打印格式化 JSON

转载 作者:太空宇宙 更新时间:2023-11-03 15:09:31 28 4
gpt4 key购买 nike

我正在努力从 Watson 的 NLU API 打印格式化的 JSON 响应。我正在使用 Python 2.7 和 Django 1.11。我的views.py 看起来像这样:

def nlu_analysis(request):
if request.method == 'POST':
text2send = request.POST.get('text2send')
natural_language_understanding = NLUV1(
version='2017-02-27',
username='####',
password='####')

response = natural_language_understanding.analyze(
text=text2send,
features=[features.Entities(), ... features.SemanticRoles()])

parsedData = json.dumps(response, indent=2)
return render(request, 'analysis.html', {'data': parsedData})

我的analysis.html看起来像这样:

  <div class="container text-left">
<p>{{ data }}</p>
</div>

所有这一切的结果就是数据,JSON 括号打印在一行上,如下所示:

{ "semantic_roles": [ { "action": { "text": "are", "verb": { "text": "be", "tense": "present"}, "标准化": "be"}, "sentence": " bat 侠和超人正在与坏人战斗", ... "keywords": [ { "relevance": 0.931284, "text": "坏人"}, { "relevance ": 0.790756, "text": "超人"}, { "relevance": 0.752557, "text": " bat 侠"} ] }

如果我在 for 循环中运行它

<div class="container text-left">
{% for d in data %}
<p>{{ d }}</p>
{% endfor %}
</div>

它只是打印每行的字符

{

s

e

...

表明 {{ data }} 是一个字符串,仅此而已。

显然我从根本上误解了一些东西。要么是关于 json.dumps (包括“indent=2”)如何工作,要么是关于如何在我的模板中正确处理它。我怀疑后者,因为通过“数据”传递的信息显然包含所有 JSON 语法。如果我将上面的一行结果放入 JSON 验证器中,它会重新格式化并完美验证。

对一个完全的菜鸟有什么帮助吗?谢谢。

最佳答案

你为什么要解析你的回复。 json.dumpsdict 对象转换为字符串。您可以直接将其用作 return render(request, 'analysis.html', {'data': response})

关于python - 无法获取 Django 模板来打印格式化 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44345774/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com