簡體   English   中英

使用Django模板顯示內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM