多対多モデルのDjangoテンプレート変数が与えられた場合、それをJavascript関数に渡してアクセスすることは可能ですか?
(私が取得しようとしているのは、現在のユーザーが属しているpkを含むグループのリストです)。
たとえば、アルファとベータの2つのグループに属するユーザーjsmithがある場合:
<html>
<script type="text/javascript">
mangle_data("{{ user.name }}", "{{ user.groups }}", "{{ user.groups.all }"");
</script>
</html>
function mangle_data(username, groups, all) {
alert("username = " + username); // works. output = "jsmith"
alert("user.groups = " + groups); // output = "django.db.models.fields.related.ManyRelatedManager object"
alert("all = " + all); // output = "[Group alpha; Group beta;]"
}
いずれの場合も、Javascriptに渡されるパラメーターは、単一のフラット化された文字列です。理想的には、オブジェクト、またはグループ名とグループpkの両方を含むリストを取得します。
確かに、名前を付けてグループのpkを見つけることができましたが、それはもっと多くのステップです。Djangoテンプレートから直接Javascriptにデータを取得できれば、はるかにクリーンになります。