gpt4 book ai didi

javascript - Django 将 Python 对象从 View 传递到模板中的 Javascript 脚本

转载 作者:行者123 更新时间:2023-12-03 05:24:25 26 4
gpt4 key购买 nike

这是一个简单的代码,仅用于显示探针,显然,这个简单代码尝试执行的任务可以在没有 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>

参见SO 1SO 2

关于javascript - Django 将 Python 对象从 View 传递到模板中的 Javascript 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41214356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com