[英]Display content using Django template
我有一個發送到django模板的json值,如下所示,我無法獲得以表格式顯示每個鍵值對的解決方案。
JSON:
elem: {
k1: v1,
x: {
abc: {
k2: v2,
k3, v3
},
efg: {
k4, v4
}
}
y: {
qwe: {
k5, v5
}
}
}
從從Django Views頁面發送到remplate的上述json,前端頁面應以表格格式顯示如下內容,
k1 v1
x
abc
k2 v2
k3 v3
efg
k4 v4
y
qwe
k5 v5
請注意,輸出的每一對(K,V)對都有一行,而每個鍵(沒有其值)都有一行,后者的值為json對象。
只有像下面這樣使用普通迭代,才需要json中的所有鍵都具有原始類型(字符串或數字)的值,但是在上面的json示例中,json對象本身作為某些鍵的值。
{% for k, v in elem.items %}
<tr>
<td> {{k}}</td>
<td> {{v}}</td>
</tr>
{% endfor %}
編輯:如果有可能在模板中遞歸調用上述代碼來解決問題,那就太好了。
使用{% for k, v in elem.items %}
您正在遍歷字典鍵,因此,我認為您應先將JSON對象轉換為python字典,然后再將其發送到模板上下文,否則模板邏輯變得不必要的復雜。
您應該將其轉換為僅具有一個級別的“平面” python字典(不包含任何“嵌套”字典)-類似於: {"k1":"v1", "x":"", "abc":"", "k2":"v2", "k3": "v3"....}
最好使用python並在模板中使用簡單的{%for k,elem.items%}中的v,而不是嘗試進行渲染在模板中給定JSON
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.