2010-04-08 67 views
0

我的模型(模板问题?):Django的通用视图

class Player(models.Model): 
    player_name = models.CharField(max_length=50) 
    player_email = models.CharField(max_length=50) 

def __unicode__(self): 
    return self.player_name 

我的根urls.py

urlpatterns = patterns('', 
    (r'^kroster/', include('djangosite.kroster.urls')), 
    (r'^admin/(.*)', admin.site.root), 
) 

我kroster urls.py

from djangosite.kroster.models import Player 

info_dict = { 
    'queryset': Player.objects.all(), 
} 

urlpatterns = patterns('', 
    (r'^$', 'django.views.generic.list_detail.object_list', info_dict), 
    (r'^(?P<object_id>\d+)/$', 'django.views.generic.list_detail.object_detail', info_dict), 
) 

player_list.html模板:

<h1>Player List</h1> 

{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %} 
<ul> 
    {% for player in object.player_set.all %} 
     <li id="{{ player.id }}">{{ forloop.counter }} .)&nbsp;&nbsp;{{ player }}</li> 
    {% endfor %} 
</ul> 

不幸的是我的模板输出是这样的。

<h1>Player List</h1> 
<ul> 

</ul> 

道歉,如果这是一个愚蠢的错误。我的模板必须有问题。

回答

0

您的模板应该是这样的:

<h1>Player List</h1> 

{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %} 
<ul> 
    {% for player in object_list %} 
     <li id="{{ player.id }}">{{ forloop.counter }} .)&nbsp;&nbsp;{{ player }}</li> 
    {% endfor %} 
</ul> 
+0

它不仅工作,但它简化了我的一些误解。谢谢。 – Kirby 2010-04-08 17:37:39

1

的列表视图的变量(除非另有说明)是object_list

有关详细信息,这是object。另外,您还需要另一个详细视图模板。默认情况下,模板名称为:<app_label>/<model_name>_detail.html(除非另有说明)

全部位于Generic views

+0

我阅读了文档,我一定错过了它。谢谢。 – Kirby 2010-04-08 17:50:46