2011-10-13 102 views
1

我正在做django1.3中使用jquery的ajax,以及它的工作正常。我正在使用jquery加載方法來填充模板。在模板中顯示json字典值

當用戶cliks按鈕時,我得到一個json對象asychrosily。我將它傳遞給另一個模板(我加載第一個模板div的內部)作爲字典。但我不知道如何在模板中顯示它(我試圖在模板頁面中將json顯示),但它導致錯誤。 任何人都可以建議如何解決問題?

所以我用正常的方式解析視圖中的json,並使用render_to_response()中的方法locals()將它傳遞給模板。這是一個很好的接近?

testjqyery.html 
$(document).ready(function() { 
    $('#save').click(function(e) 
    { 
     e.preventDefault();   
     $('#results').html(' ').load('{% url t %}' );    
    }); 
    <div id="results"></div> 

views.py

def testupdater(request): 
// getting json from server 
//contents_json = json.loads(...) 
json_data = {'json_dict': contents_json} 
return render_to_response('results.html' ,json_data,context_instance=RequestContext(request)) 

results.html

{% if json_dict|length %} 

{% else %} 
{% endif %} 
+1

如果你渲染模板服務器端,爲什麼你需要JSON嗎?只需傳遞一個包含所有變量的正常上下文字典。 –

+0

你是對的@ Daniel Roseman,謝謝4你的評論 – Jisson

回答

0

嘗試這樣

from django.utils import simplejson 

data = [] 
data.append({"msg": 'Hi this message'}) 
json = simplejson.dumps(data) 
return HttpResponse(json, mimetype='application/json') 
+0

問題是我從服務器得到一個大的JSON,因此很難解析它在視圖中,並添加到詞典中的一個關鍵manualy – Jisson