2011-08-19 22 views
0

我從視圖返回JSON到Django模板,所以我可以使用JavaScript中的數據,但現在我還需要其中一個數組用django模板語法進行訪問。這似乎不太好。使用simplejson.dumps輸出到Django模板,但需要使用標籤訪問數組

在我看來,我創建一個python數組與對象項。我回到simplejson.dumps這樣的:

response_dict = {"Description":pkg.desc,"MyTypes":pkgtypes,... 
return HttpResponse(simplejson.dumps(response_dict), mimetype='text/javascript') 

其中pkgtypes是對象的數組我很感興趣,通過模板標籤訪問。我設法找到了「|安全」的過濾器,它至少告訴我4個項目已經返回到模板,但我無法訪問裏面的對象。以下是我已經試過:

{% for t in MyTypes|safe %} 
    SOMETHING 
    <input type="checkbox" name="myTypes" value="{{ t.Val }}" />{{ t.Label }} 
{% endfor %} 

詞「東西」獲取與複選框寫4次,但我無法訪問「瓦爾」或「標籤」,這是來自陣列,像這樣的價值觀:

[{"Val":myval1, "Label":mylabel1},{"Val":myval2,"Label":mylabel2}...] 

我應該用javascript代替我的複選框嗎?

+0

掛起 - 該模板在哪裏進入?您直接從視圖返回JSON作爲HttpResponse,那麼它是如何傳遞給模板的呢?顯示你的真實代碼。 –

+0

啊,是的。你是對的。我首先加載模板(代碼未顯示),然後使用ajax調用來獲取數據(我包含的視圖)。我將返回加載模板的第一個視圖中的複選框。感謝您的支持。不是要排除代碼,我只是沒有想到。 – user638303

回答

0

爲什麼要將safe應用於一系列項目? safe作品的字符串,所以如果你想標記的東西是安全的,其輸出的,像{{ t.Label|safe }}

之前做到這一點您也可以嘗試把{% debug %}地方看看究竟是什麼MyTypes變量包含。