给定一个具有多对多模型的 Django 模板变量,是否可以将其传递给 Javascript 函数并访问它?
(我想要得到的是当前用户所属的组列表,包括 pk)。
例如,如果我有一个用户jsmith属于两个组,alpha和beta:
<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 中,那就更简洁了。