嗨(抱歉我丑陋的英语) 我想使用app-engine-patch和google app引擎创建一个简单的博客,并使用django通用视图处理博客条目页面。 但是当我使用Django的通用视图“django.views.generic.list_detail.object_detail”时,我在下面遇到了一个错误:
GenericViewError at /blog/entry/
Generic view must be called with either an object_id or a slug/slug_field.
Request Method: GET
Request URL: http://192.168.62.90:8000/blog/entry/
Exception Type: GenericViewError
Exception Value:
Generic view must be called with either an object_id or a slug/slug_field.
Exception Location: <unknown> in ?, line ?
Python Executable: /usr/bin/python
Python Version: 2.5.2
Python Path: ['/home/hugh/Desktop/app-engine-patch-sample', '/home/hugh/Desktop/app-engine-patch-sample/common', '/home/hugh/Desktop/app-engine-patch-sample/common/appenginepatch/appenginepatcher/lib', '/home/hugh/Desktop/app-engine-patch-sample/common/zip-packages/django-1.0.2.zip', '/home/hugh/Desktop/app-engine-patch-sample/common/appenginepatch', '/home/hugh/Desktop/google_appengine', '/home/hugh/Desktop/google_appengine/lib/django', '/home/hugh/Desktop/google_appengine/lib/antlr3', '/home/hugh/Desktop/google_appengine/lib/webob', '/home/hugh/Desktop/google_appengine/lib/ipaddr', '/home/hugh/Desktop/google_appengine/lib/yaml/lib', '/home/hugh/Desktop/app-engine-patch-sample', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/Numeric', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/gst-0.10', '/var/lib/python-support/python2.5', '/usr/lib/python2.5/site-packages/gtk-2.0', '/var/lib/python-support/python2.5/gtk-2.0']
Server time: Thu, 29 Apr 2010 01:54:57 +0000
此链接导致上述问题: http://192.168.62.90:8000/blog/entry/?agphdXR1bW4xOTEychALEgpibG9nX2VudHJ5GCYM
我的urls.py:
from django.conf import settings
from django.conf.urls.defaults import *
from django.views.generic.simple import direct_to_template
from django.views.generic import list_detail
from blog.models import Author, Entry
entry_info = {
'queryset': Entry.all().order('-pub_date'),
'template_name': 'index.html',
'template_object_name': 'entry',
}
urlpatterns = patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
(r'^$', list_detail.object_list, entry_info),
(r'^entry/(?P<object_id>.*)$',
list_detail.object_detail,
{'queryset': Entry.all(), 'template_name': 'sample_test_page.html'}),
)
我不知道这个错误的原因。
答案 0 :(得分:0)
我相信你的网址在'?'之后缺少'object_id ='。