現在、私のDjangoアプリケーションのアーキテクチャに取り組んでいます。JSONを使用したDjangoテンプレートのレンダリングテーブル
ビュー: は最終的に、私の目標は、私はテンプレートにDjangoのビューから渡すJSONオブジェクトを解析することです
tasks_queryset = TaskResponsiblePeople.objects.select_related('task')
tasks_json = serializers.serialize("json", tasks_queryset)
return render_to_response('task_management/task_list.html',
{'task_form':task_form,
'responsible_people_form':responsible_people_form,
'tasks_json':tasks_json},
context_instance=RequestContext(request))
テンプレート:今
<table stupid-attribute = {{tasks_json}}>
</table>
、私の質問されます、いくつかの関数が "stupid-attribute"を使わずにページのロードイベントでテーブルをレンダリングするように、パラメータをJavascriptに渡す方法はありますか?私は具体的に、誰もがそれを明確にすることができたJavaScriptテンプレートの一部
が何を意味するかを把握することはできません唯一の例外を除いて、私の質問に非常に関連しているtopicに出くわしました、場所を正確に私のコードで私は、以前の議論から
{% if tags %} var tagbs = {{ tags|safe }}; var tgs = JSON.parse(tagbs); alert("done"); {% endif %}
のアナログを使用する必要がありますし、私はこのような「汚い」HTMLを生成することなく、Pythonの構文を使用して、以下のコードを書き換えることができます:
for (var i = 0; i < data.length; i++) { tr = $('<tr style = "cursor:pointer"/>'); tr.append('<td><input class = "tableRowChecker" type="checkbox"></td>'); if (data[i].fields.status == 1) tr.append("<td>" + " <div onclick = 'change_task_status(" + data[i].pk + ')' " + " class='glyphicon glyphicon-ok'></div></td>"); else tr.append("<td>" + "<div onclick = 'change_task_status(" + data[i].pk + " , false)' " + " style = 'color:rgb(102,204,255)' class='glyphicon glyphicon-ok'></div></td>"); $('#task_table tbody').append(tr); }
ここで重要な点は、スクリプトを外部ファイルにしたいということです。私が理解するように、テンプレートファイルにスクリプトを書くと、Djangoのコンテキスト変数をすぐに使用できるようになります。しかし、外部のスクリプトはどうですか? –
あなたは何を言っているのか分かりません。 JSONをテンプレートのスクリプトスニペットに入れ、スクリプトの残りの部分を外部のJSファイルに入れることができます。 –
しかし、私はJSでPython構文を使うことはできないようです(例えば、{%if tags%})。私はHTMLでしか使用できません。そして、その男はどのように警戒を使用していますか? –