2011-10-13 4 views
1

django1.3에서 jquery를 사용하여 아약스를 수행하고 있습니다. 잘 작동합니다. jquery load 메서드를 사용하여 템플릿을 채 웁니다.템플릿에서 json 사전 값을 표시합니다.

사용자가 버튼으로 cliks 할 때 json 객체를 얻을 수 있습니다. 다른 템플릿 (첫 번째 템플릿의 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, Thanks 4 u r comment – 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을 얻었 기 때문에보기에 그것을 구문 분석하고 사전에 키를 수동으로 추가하기가 어렵습니다. – Jisson

관련 문제