我有一个模板页面,它迭代我的模型的对象并列出它们中的每一个。我的模板名为user_page.html,这是列出项目的代码:
<h3>List of your games</h3>
{% if games %}
<ul>
{% for i in games %}
<li>Game</li>
{% endfor %}
</ul>
{% else %}
You have no games.
{% endif %}
每当我访问user_page.html时,我都会收到“你没有游戏”的消息,但我知道我有游戏对象,因为当我在控制台中输入Game.objects.all()时,我会看到它们。到目前为止,以下是我在views.py上的代码:
@login_required
def create_game(request):
game = Game(creator=request.user)
game.save()
variables = RequestContext(request, {
'game': game,
'board': game.get_set_board()
})
return render_to_response('battleship/create_game.html', variables)
@login_required
def list_games(request):
games_list = Game.objects.get_by_user(request.user)
variables = RequestContext(request, {
'games': games_list
})
return render_to_response('battleship/user_page.html', variables)
以下是我的游戏模型的代码:
class Game(models.Model):
creator = models.ForeignKey(User, related_name='creator_set')
def get_set_board(self):
board = Board()
return board
def get_target_board(self):
board = Board()
return board
有什么想法吗?提前谢谢!
答案 0 :(得分:0)
尝试返回您的回复:
return render_to_response('battleship/user_page.html', {'games' : games_list}, context_instance=RequestContext(request))
看看是否有所作为。
答案 1 :(得分:0)
解决了这个问题。原来问题是URLS.py映射。显然,我的user_page.html已经有一个名为user_page的函数映射到它。我只需要将list_games函数代码放在user_page函数中。傻我。谢谢大家:)