0
私は、ユーザーが異なるゲームに賭けることができるベットアプリを構築しています。私のような以下の一つとして表に別のゲームに対するユーザーの賭けを表示したい:Djangoテンプレートの2次元配列にアクセスする
game # | user 1 | user 2 | user 3
game 1 | XXXX | XXXX | XXXX
game 2 | XXXX | XXXX | XXXX
game 3 | XXXX | XXXX | XXXX
...
ここに私の見解は
users = User.objects.all()
games = Game.objects.all()
bets = Bet.objects.all()
user_bets = [[] for i in range(len(games))]
for i, game in enumerate(games):
game_bets = bets.filter(game=game)
for usr in users:
user_bet = game_bets.filter(user=usr)[0]
user_bets[i].append(user_bet)
data = {'games', games, 'users', users, 'user_bets': user_bets}
return render(request, 'bets.html', data)
だが、私は方法がわかりません2d配列user_bets
を使用してテーブルを埋める。助言がありますか?または、私がDjangoのテンプレートにそのようなデータを渡すためのベストプラクティスを間違えているのであれば?
乾杯
でこれを行う簡単な方法は、カスタムフィルタである容易にするために、あなたのviews.pyに
を生きることができる2つのテンプレートフィルタを定義://stackoverflow.com/a/10700142)。 – Jedi