2011-08-19 3 views
0

json을 뷰에서 장고 템플릿으로 반환하므로 자바 스크립트에서 데이터를 처리 할 수 ​​있지만 이제는 배열 중 하나가 필요합니다. django 템플릿 구문을 사용하여 액세스 할 수 있습니다. 이것은 잘 작동하지 않는 것 같습니다.simplejson.dumps를 사용하여 django 템플릿에 출력했지만 태그를 사용하여 배열에 액세스해야합니다.

제 생각에는 객체 항목이있는 파이썬 배열을 만듭니다. 나는이 같은 simplejson.dumps를 반환 : pkgtypes

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

내가 템플릿 태그를 통해 접근에 관심이 객체의 배열입니다. 나는 적어도 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}...] 

대신 자바 스크립트를 사용하여 내 체크 박스를 빌드해야합니까?

+0

잠깐만 기다려주세요 - 템플릿이 들어있는 곳은 어디입니까? 뷰에서 직접 JSON을 HttpResponse로 반환하므로 템플릿에 어떻게 전달됩니까? 실제 코드를 보여주십시오. –

+0

아, 네. 당신이 정말 맞습니다. 먼저 템플릿을로드하고 (코드는 표시되지 않음) 아약스 호출을 사용하여 데이터를 가져옵니다 (포함 된 뷰). 템플릿을로드하는 첫 번째보기에서 확인란을 반환 할 것입니다. 그것을 잡아 주셔서 감사합니다. 코드를 제외 시키려하지 않았다, 나는 단지 생각하지 않았다. – user638303

답변

0

safe을 일련의 항목에 적용하는 이유는 무엇입니까? 문자열에 대한 safe 작품, 당신은 물건을 안전 표시 할 경우, {{ t.Label|safe }}

처럼, 그것을 출력하기 전에 그것을 할 수 있도록 또한 어딘가에 정확히 MyTypes 변수에 포함 된 내용을 볼 수 {% debug %} 퍼팅을 시도 할 수 있습니다.

관련 문제