Можете ли вы поделиться примером использования представления на основе классов с MonthMixin? - PullRequest
0 голосов
/ 15 марта 2012

У меня на сайте есть новость, написанная с помощью "Джеймс Беннетт - Практические проекты Django, 2-е издание (2009)"Поэтому я использую представления, основанные на дате, которые будут устаревшими в django-1.4.Как я могу просто преобразовать свои представления и URL-адреса в представления на основе классов?Может быть, вы видели это, просто оставьте ссылку, я не могу найти ни одного рабочего примера, по крайней мере, для MonthMixin.

Ответы [ 2 ]

2 голосов
/ 15 марта 2012

Django имеет подробный список всех новых представлений на основе классов и их миксинов.

Вам не нужно использовать MonthMixin напрямую, если вы не делаете что-то особенное. Для обычного представления архива за месяц используйте MonthArchiveView. Подкласс это и вперед.

Если вам понадобится дополнительная помощь, вам нужно будет дать нам больше информации о том, что именно вам нужно.

0 голосов
/ 28 мая 2012

Подумайте о CBV, а точнее об «Общих представлениях на основе классов», как о большом дереве классов Python.Начиная с самого простого класса.Каждый из подклассов и более использует методы друг от друга.Например, ArchiveIndexView обычно представляет собой представление, которое вы будете подклассом для индекса вашего сайта.Он добавляет дополнительную контекстную переменную, которая называется последним.Вы должны предоставить ему date_field, num_latest и пару дополнительных опций в классе представления.Вы также можете передать эти аргументы через URLConf.Однако, логика в views.py более понятна и понятна.Это довольно удобно, как только вы освоитесь.Вы можете создавать собственные миксины, которые по сути столь же мощны, как и ваш мозг.Кроме того, это миксин для чего-то, что вы хотите иметь на каждой странице, а затем, возможно, тег шаблона или обработчик пользовательского контекста в худшем случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...