1

最近、django1.4からdjango1.5に移行しましたが、このエラーが発生します

ViewDoesNotExist: Could not import django.views.generic.date_based.archive_index. Parent module django.views.generic.date_based does not exist.

グーグルは、関数ベースのビューが減価償却されていることを私に教えてくれます。クラスベースのビューに移行しようとしていますが、難しいと感じています。これが私のviews.pyです

from app.models import Season
from django.conf.urls import *
from cms.models import News, File


def get_extra_context():
    past_seasons = Season.objects.filter(in_progress = False)
    try:
        current_season = Season.objects.get(in_progress = True)
    except Season.DoesNotExist:
        current_season = None
    files = File.objects.all().order_by('-id')[:5]
    output = {
        'current_season': current_season,
        'past_seasons': past_seasons,
        'files': files,
        }
    return output

dictionary = {
    'queryset': News.objects.all(),
    'date_field': 'date',
    'extra_context': get_extra_context(),
}


urlpatterns= patterns(
    'django.views.generic.date_based',
    url(
        r'(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$',
        'object_detail',
        dict(dictionary, slug_field = 'slug', template_name = 'cms/news/object.html'),
        name='object'
    ),
    url(
        r'^$',
        'archive_index',
        dict(dictionary, template_name = 'cms/news/list.html'),
        name='list'
    )
)

クラスベースのビューに変換できません。どんな体も助けることができます。辞書は私が文脈に入れたいオブジェクトです。

前もって感謝します。

//ねずみ

4

1 に答える 1

0

これが私がやった方法です。

urlpatterns = patterns(
    '',
    url(
        r'(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$',
        DateDetailView.as_view(
            model = News,
            date_field = 'date',
            slug_field = 'slug',
            template_name = 'cms/news/object.html',
            #dict = dictionary,
        ),
        name='object'
    ),
)
于 2013-03-28T10:29:42.347 に答える