0

试图自学 Django 但遇到了障碍。通用视图似乎是一个好主意,但我个人觉得文档有时有点神秘(也许我很拘谨)。所以我一直在尝试使用基于日期的泛型视图,特别是ArchieveIndexView。

我什至尝试过一些非 djangoproject.com 的示例,但仍然有问题。我使用了本网站提供的示例。

这是我目前的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 类的行中不断收到 Invalid Syntax 错误。如果我注释掉这一行,问题就会消失。如果我将 URL 与其相应的应用程序解耦,我会得到同样的错误。

该错误表明我只是有一些不合适的东西,逗号或其他东西,但我还没有得出结论它是什么。

谢谢!

4

2 回答 2

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)),
)

您似乎忘记了 url(r'^$', ArchiveIndexView.as_view('date_field': 'pub_date', 'queryset': Entry.objects.all())) 行中 dict 所需的 {} 大括号。

于 2012-06-05T05:01:12.117 回答
0

啊。由于湿婆的一点推动,我解决了我自己的问题。

字典有效,但仅适用于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)),
)

只需要在上面睡觉...

于 2012-06-05T11:59:54.533 回答