这是一个简单的代码,仅用于显示探针, 显然,这个简单代码尝试执行的任务可以在没有 Javascript 的情况下完成,但我需要知道如何使用 Javascript 来完成此任务,因为 在我的真实代码中我需要它,并且没有 Javascript 就无法完成 (基本上我使用 View 中的信息创建一个动态二维数组)
在 View .py
在 def play_game 函数中
...
players = Player.objects.all()
context = {
'players' : players
}
return render(request,'play_game.html', context)
在模型.py
class Player(models.Model):
game = models.ForeignKey(Game, on_delete=models.CASCADE, blank=True, null=True)
loose = models.IntegerField( default=0)
win = models.IntegerField(default=0)
name = models.CharField(max_length=9)
在 play_game.html 中
<script>
var players = "{{players}}";
for (player in players) {
document.write(player.name);
document.write(" Win:"+ player.win);
document.write("Loose: " + player.loose);
};
</script>
最佳答案
您需要serialize您的数据(玩家)。
from django.core import serializers
...
players = serializers.serialize("json", players)
...
return render(request, 'template.html', {'players': players, ...})
在你的模板/脚本中
<script>
var players = {{ players || safe }};
players.map(function (player) {
document.write(player.name);
document.write(" Win:"+ player.win);
document.write("Loose: " + player.loose);
});
</script>
关于javascript - Django 将 Python 对象从 View 传递到模板中的 Javascript 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41214356/