2010-04-08 69 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