"Показывать" контент на веб-сайте Django
Я работаю над новым проектом Django, и клиент хочет "разместить" контент на домашней странице и в нескольких других разделах сайта. Контент в этом случае может быть постом в блоге, событием, новостной историей и т. Д. Каждый элемент будет иметь дату начала показа и конец показа времени.
В прошлом я делал это несколькими разными способами, но удивляюсь, есть ли у кого-нибудь замечательные методы архивирования.
2 ответа
Вы смотрели на структуру содержимого типов? Вы могли бы создать FeaturedItem
модель с начальным и конечным временем и общим внешним ключом. Это позволяет отношениям быть с любой моделью.
Если вы активно используете объекты из определенных моделей, посмотрите на раздел об обратных родовых отношениях.
Я пытаюсь что-то подобное, используя фреймворк contenttypes, но проблема возникает при отображении отношений в административной области. Я пытался взломать это вместе, чтобы просто показать флажок "Избранное?" рядом с ним.
class FeaturedContent(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
Я еще не ясно, как реализовать флажок.