views:

55

answers:

1

Hi(Sorry for my ugly english) I want to use the app-engine-patch and google app engine to create a simple blog, and use the django generic views handle the blog entry page. But when I use Django's generic views "django.views.generic.list_detail.object_detail", I encountered an error in the following:

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

This link causing the problem above: http://192.168.62.90:8000/blog/entry/?agphdXR1bW4xOTEychALEgpibG9nX2VudHJ5GCYM

My 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'}),

)

I do not know the reason of this error.

A: 

I believe your URL is missing 'object_id=' after the '?'.

allyourcode