最近看到django通用视图部分(http://djangobook.py3k.cn/2.0/chapter11/),做到这一步;
说明我的project名--generic,book-app是generic/generic/book
#model.py,之前例子中Publisher的定义(generic/generic/book/model.py)
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField()
def __unicode__(self):
return self.name
#urls.py 在generic/generic/urls.py
from django.conf.urls.defaults import *
from django.views.generic import list_detail
from mysite.books.models import Publisher
publisher_info = {
'queryset': Publisher.objects.all(),
'template_name': 'publisher_list_page.html',
}
urlpatterns = patterns('',
url(r'^publishers/$', list_detail.object_list, publisher_info),
)
模板在generic/templates下,generic/templatespublisher_list_page.html
publisher_list_page.html
<h2>Publishers</h2>
<ul>
{% for publisher in object_list %}
<li>{{ publisher.name }}</li>
{% endfor %}
</ul>
浏览器请求ocalhost:8000/publishers,但是页面一直显示:
Page not found (404)
Request Method: GET
Request URL:
http://localhost:8000/publishersUsing the URLconf defined in generic.urls, Django tried these URL patterns, in this order:
1.^about/$
2.^publishers/$
The current URL, publishers, didn't match any of these.
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.