2010-08-02 3 views
0
from django.conf.urls.defaults import * 
from django.conf import settings 
from Website.Blog.models import Post 
# Uncomment the next two lines to enable the admin: 
from django.contrib import admin 
admin.autodiscover() 

index = { 
      'queryset': Post.objects.all(), 
      'date_field': 'created_on', 
      'template_name': 'index.html', 
      'num_latest': 5 
     } 

post = { 
      'template_name': 'index.html', 
      'queryset': Post.objects.all(), # only here, what could be wrong? 
      'slug': 'slug', 
     } 

urlpatterns = patterns('', 
    # Example: 
    url(r'^$', 'django.views.generic.date_based.archive_index', index, name='index'), 
    url(r'^post/(\S+)/$', 'django.views.generic.list_detail.object_detail', post, name='post'), 

    # Uncomment the admin/doc line below and add 'django.contrib.admindocs' 
    # to INSTALLED_APPS to enable admin documentation: 
    # (r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    # Uncomment the next line to enable the admin: 
    (r'^admin/', include(admin.site.urls)) 
) 


if settings.DEBUG: 
    urlpatterns += patterns('', 
     (r'^css/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}), 
     (r'^images/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.IMAGES_ROOT, 'show_indexes': True}) 
    ) 

ответ

1

object_detail вид имеет queryset в качестве первого позиционного аргумента. Таким образом, значение, которое соответствует (\S+) в вашем регулярном выражении для этого URL-адреса, интерпретируется как аргумент queryset, который противоречит kwarg, который вы передаете в словаре POST.

Если вы пытаетесь отправить object_id в качестве согласующего элемента в URL, вы должны будете использовать именованный группу:

url(r'^post/(?P<object_id>\S+)/$' ... 
+0

Я пытаюсь отправить слизняк –

0

Вам нужно добавить ?: к группам (круглые скобки), что вы не хотите, чтобы его передавали функции просмотра. Как это:

url(r'^post/(?:\S+)/$', 'django.views.generic.list_detail.object_detail', post, name='post'),

Смотрите эту статью для получения дополнительной информации: http://www.b-list.org/weblog/2007/oct/14/url-patterns/