2017-01-09 55 views
0

我是Python的新手,我知道有点大的Java,所以我知道objects.Now,在Python中我使用mlbgame来获得一个团队的时间表。我正在使用游戏(年,月=无,天=无,主页=无,客场=无)。Django mlbgame列表的对象列表

这是我的看法

def baseball(request): 
    angels_game = mlbgame.games(2017, home='Angels', away='Angels') 
    return render(request, 'home/baseball.html', {'games1': games1, 'angels_game': angels_game}) 

现在,这里是我的模板

<h1>Anaheim Angels Games</h1> 
    {% for anaheim in angels_game %} 
     <p>{{ anaheim }}</p> 
    {% endfor %} 

这是我在我的网页

阿纳海姆天使游戏

[<mlbgame.game.GameScoreboard object at 0x7f04f2f0ac50>] 

[<mlbgame.game.GameScoreboard object at 0x7f04f31f5978>] 

[<mlbgame.game.GameScoreboard object at 0x7f04f2ef22e8>] 

[<mlbgame.game.GameScoreboard object at 0x7f04f1e9b048>] 

我得到明白,我越来越那里的对象,但我知道如何使用该对象,就像我在Java中使用toString()方法所做的那样。

任何人都可以指导我在正确的道路吗?

感谢,

回答

0

谢谢大家。我尝试了你的想法后找到了答案。

正如Sanca Kembang所建议的那样,这是在看问题。有一个叫做combine_games的函数需要一个对象。这里是代码

def baseball(request): 
    angels_game = mlbgame.games(2017, home='Angels', away='Angels') 
    games = mlbgame.combine_games(angels_game) 
    return render(request, 'home/baseball.html', {'games': games}) 

其他一切都保持不变,我得到了我想要的。

Brewers (0) at Angels (0) 

Angels (0) at Athletics (0) 

Padres (0) at Angels (0) 

Angels (0) at Cubs (0) .... 
0

我认为你需要在后端覆盖您的列表,以获得输出列表迭代器,例如:[ angle.get_score() for angle in angels_game ]。因为,你的迭代的结果是类GameScoreboard,它没有完成足够的..

在这里,我找到了功能nice_score()内部类的GameScoreboard

那么,也许你应该试试这一个:

def baseball(request): 
    angels_game = mlbgame.games(2017, home='Angels', away='Angels') 
    angels_game_list = [ angle.nice_score() for angle in angels_game ] 

    return render(request, 'home/baseball.html', 
     {.... 'angels_game': angels_game_list} 
    ) 
+0

谢谢,但仍然给我一个错误,像对象没有nice_score属性。 –

+0

请尝试'print(dir(angels_game))'它的输出是什么? –