尝试自学Django但遇到困难。 通用视图似乎是一个好主意,但我个人觉得文档有时有点神秘(也许我很乖))。 所以我一直在尝试使用基于日期的泛型视图,特别是ArchieveIndexView。
我甚至试图关注一些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 :(得分: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中dict所需的{}大括号(r'^'',ArchiveIndexView.as_view('date_field':'pub_date','queryset':Entry.objects.all())), 线。
答案 1 :(得分:0)
阿。我解决了自己的问题,感谢shiva的一点推动。
字典有效但仅适用于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)),
)
只需要睡在上面......