app-engine-patch和“object_detail”视图不起作用

时间:2010-04-29 00:51:31

标签: python django-views app-engine-patch

嗨(抱歉我丑陋的英语) 我想使用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'}),

)

我不知道这个错误的原因。

1 个答案:

答案 0 :(得分:0)

我相信你的网址在'?'之后缺少'object_id ='。