Django Json 模板中的响应格式
Django Json Response formatting in templates
是否有可能以某种方式保持 JSON 响应原样并将其缩进为正确的格式?
我想在我的 list.html 模板中呈现 list_text,但是 json 响应每次都不同。是否可以保持固定并正确缩进?
obj = {
list_text[0],
list_text[1],
list_text[2],
list_text[3],
list_text[4],
list_text[5],
list_text[6],
list_text[7],
}
return render(request, 'card/list.html', {'form':form, 'list_text': obj})
我在这里找到了一篇类似的 JSON 文章:Link
但它用于 JSON 序列化或类似的东西,我希望将其传递给模板。
如果您希望维护订单,请使用列表而不是 set
obj = [
list_text[0],
list_text[1],
list_text[2],
list_text[3],
list_text[4],
list_text[5],
list_text[6],
list_text[7],
]
return render(request, 'card/list.html', {'form':form, 'list_text': obj})
您可能可以传递 list_text
,因为它看起来像是一个列表。
现在,为了在您的模板中获得正确的缩进,最简单的方法是将您的 Python 对象转换为 JSON 字符串。
list_text_as_a_string = json.dumps(obj, indent=2)
return render(request, 'card/list.html', {'form':form, 'list_text': list_text_as_a_string})
注意 indent=2
。默认情况下 json.dumps 避免任何额外的白色 space.
现在在你的模板中简单地做
<pre>{{ list_text }}</pre>
pre tag 采用预先格式化的文本并按原样呈现。 (通常 HTML 忽略多余的白色 space)。它还使用固定宽度的字体,因此看起来更好。
是否有可能以某种方式保持 JSON 响应原样并将其缩进为正确的格式?
我想在我的 list.html 模板中呈现 list_text,但是 json 响应每次都不同。是否可以保持固定并正确缩进?
obj = {
list_text[0],
list_text[1],
list_text[2],
list_text[3],
list_text[4],
list_text[5],
list_text[6],
list_text[7],
}
return render(request, 'card/list.html', {'form':form, 'list_text': obj})
我在这里找到了一篇类似的 JSON 文章:Link
但它用于 JSON 序列化或类似的东西,我希望将其传递给模板。
如果您希望维护订单,请使用列表而不是 set
obj = [
list_text[0],
list_text[1],
list_text[2],
list_text[3],
list_text[4],
list_text[5],
list_text[6],
list_text[7],
]
return render(request, 'card/list.html', {'form':form, 'list_text': obj})
您可能可以传递 list_text
,因为它看起来像是一个列表。
现在,为了在您的模板中获得正确的缩进,最简单的方法是将您的 Python 对象转换为 JSON 字符串。
list_text_as_a_string = json.dumps(obj, indent=2)
return render(request, 'card/list.html', {'form':form, 'list_text': list_text_as_a_string})
注意 indent=2
。默认情况下 json.dumps 避免任何额外的白色 space.
现在在你的模板中简单地做
<pre>{{ list_text }}</pre>
pre tag 采用预先格式化的文本并按原样呈现。 (通常 HTML 忽略多余的白色 space)。它还使用固定宽度的字体,因此看起来更好。