Как я могу использовать date_list из Общих Представлений Даты в Django?

У меня есть эта функция, которую я использовал для преобразования объектов даты из моих сообщений в блоге в словарь лет и месяцев, которые я могу отображать на боковой панели:

def post_dates(self):
    """Get dictionary of dates for all posts."""
    grouped_dates = groupby(Post.objects.datetimes('published', 'month'),
                            lambda date: date.year)

    def get_months(dates):
        return [{'name': months[d.month],
                 'num':str(d.month).zfill(2)} for d in dates]

    dates = [{"year": year, 'months': get_months(dates)}
             for year, dates in grouped_dates]
    return dates

Теперь я перехожу к использованию универсальных представлений даты, все из которых обеспечивают date_list в контексте.

В настоящее время URL для меня выглядит следующим образом:

 url(r'posts/(?P<year>\d{4})/?',
    YearArchiveView.as_view(model=Post, date_field="published"), name="post_year_archive"),

Так что я не подклассифицировал мнение.

Я действительно не хочу писать мнение для каждого. Я думал, что вы могли бы сделать это в context_processor но я читал, что вы не можете получить доступ к текущему контексту из процессора контекста.

Как я могу настроить свой код для работы с универсальным представлением даты без создания подклассов? Если нет, дайте мне знать, и почему?

0 ответов

Другие вопросы по тегам