Django 또는 Jinja2를 사용하는 경우 이전에이 문제가 발생했을 가능성이 큽니다.django/Jinja2 템플릿에서 dict 객체를 문자열로 변환
{
"data":{
"name":"parent",
"children":[
{
"name":"child_a",
"fav_colors":[
"blue",
"red"
]
},
{
"name":"child_b",
"fav_colors":[
"yellow",
"pink"
]
}
]
}
}
지금 내 Jinja2 템플릿이 전달하려는 : 나는 다음과 같습니다 JSON 문자열이
j = json.loads('<the above json here>')
self.render_response('my_template.html', j)
을 ...이처럼 반복 :
<select>
{% for p in data recursive %}
<option disabled>{{ p.name }}</option>
{% for c in p.children %}
<option value="{{ c.fav_colors|safe }}">{{ c.name }}</option>
{% endfor %}
{% endfor %}
</select>
이것이 내가 문제가있는 곳입니다 : Jinja2 출력을 제외한 모든 것이 c.fav_colors의 유니 코드 인코딩 값을 출력합니다. 내가 자바 스크립트에서 액세스 할 수 있도록 유효한 자바 스크립트 배열로 c.fav_colors가 필요합니다. Jinja가 [u'blue', u'red']
대신에 ['blue','red']
과 같은 ASCII 텍스트로 해당 값을 인쇄하도록하려면 어떻게합니까?
없음 닫는 태그 작업을 수행 할 수 있습니까? 또한, {item % c % item "item"{% forloop.last %}, {% endif %} {% endfor %}]에 대한 {{% 결국 템플릿은 파이썬 값을 뷰가 필요한 것으로 변환합니다. – jpic
해당 옵션 태그가 업데이트되었습니다. 여기에서 사용하는 루프 구문은 명확성을위한 것입니다. 난 그냥 문제를 보여 주려고 : 어떻게 유효한 javascript 호환 배열로 c.fav_colors 출력 :'[ 'blue', 'red']' – ofko