2012-06-05 2 views
0

Пытается научить себя Django, но впадает в занос. Generic Views кажется отличной идеей, но я лично нахожу документацию немного загадочной время от времени (может быть, я увлечен). Итак, я пытаюсь использовать представления Generics, основанные на дате, и, в частности, ArchieveIndexView.Django Generic Views Date-Based URLconf

Я даже попытался выполнить некоторые примеры nondjangoproject.com и все еще имею проблемы. Я использовал пример, приведенный в this site.

Вот мой текущий project/urls.py.
Я тоже в этом пункте, не беспокоясь о сопоставлении с образцом, просто пытаясь заставить его работать.

from django.conf.urls import patterns, include, url 
from django.views.generic.dates import ArchiveIndexView 
from blog.models import Entry 

from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    url(r'^$', ArchiveIndexView.as_view('date_field': 'pub_date', 'queryset': Entry.objects.all())), 

    url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    url(r'^admin/', include(admin.site.urls)), 
) 

С этой установкой я продолжаю получать ошибки недопустимого синтаксиса в строке, описывающей класс ArchiveIndexView. Если я прокомментирую эту строку, проблема исчезнет. Если я отделяю URL-адреса от их соответствующего приложения, я получаю ту же ошибку.

Ошибка заключается в том, что у меня просто есть что-то неуместное, запятая или что-то в этом роде, но мне еще предстоит заключить, что это такое.

Спасибо!

ответ

0

Ah. Я решил свой собственный вопрос благодаря небольшому отталкиванию от шивы.

Словарь работает, но только для аргумента extra_content. Это было сделано именно так на веб-сайте, который я пытался скопировать, и для дополнительного контента в документации, поэтому я продолжал игнорировать эту очевидную проблему.

from django.conf.urls import patterns, include, url 
from django.views.generic.dates import ArchiveIndexView 
from blog.models import Entry 

from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    url(r'^$', ArchiveIndexView.as_view(date_field='pub_date', queryset=Entry.objects.all())), 

    url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    url(r'^admin/', include(admin.site.urls)), 
) 

Просто нужно спать на нем ...

0

использовать код ниже

from django.conf.urls import patterns, include, url 
from django.views.generic.dates import ArchiveIndexView 
from blog.models import Entry 

from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    url(r'^$', ArchiveIndexView.as_view({'date_field': 'pub_date', 'queryset': Entry.objects.all()})), 

    url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    url(r'^admin/', include(admin.site.urls)), 
) 

Вы, кажется, забывают {} скобки, необходимые для Dict в URL (г '^ $', ArchiveIndexView.as_view ('date_field': 'pub_date', 'QuerySet' : Entry.objects.all())), линия.

 Смежные вопросы

  • Нет связанных вопросов^_^