DjangoまたはJinja2を使用している場合は、以前はこの問題が発生していた可能性があります。 私はこのようになりますJSON文字列があります。Django/Jinja2テンプレートのdictオブジェクトを文字列に変換する
{
"data":{
"name":"parent",
"children":[
{
"name":"child_a",
"fav_colors":[
"blue",
"red"
]
},
{
"name":"child_b",
"fav_colors":[
"yellow",
"pink"
]
}
]
}
}
今、私は私のJinja2のテンプレートにこれを渡したい:
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のUnicodeエンコード値を出力する以外はすべて動作します。私はjavascriptからアクセスできるように、有効なjavascript配列としてc.fav_colorsが必要です。 Jinjaに、その値を[u'blue', u'red']
の代わりに['blue','red']
のようなアスキーテキストとして出力するにはどうすればよいですか?
ません終了タグを行うことができますか?また、なぜ{item%cのアイテムの%} "item" {forloop.last%}、{%endif%} {%endfor%}の%これは結局のためのテンプレートです。つまり、Pythonの値をビューが必要なものに変換します。 – jpic
そのオプションタグを更新しました。私がここで使用しているループ構文は分かりやすくするためです。私はちょうど問題を紹介しようとしています:有効なJavaScript互換の配列としてc.fav_colorsを出力する方法: '['blue'、 'red']' – ofko