Размещение моделей
На сайте необходимо разместить посты, чтобы их можно было создавать и редактировать, но в дизайне сайта посты разделены слайдерами и другими элементами, как возможно реализовать это таким образом, чтобы прочие элементы верстки, так сказать, игнорировались?
Я пробовал решить эту проблему при помощи создания дополнительных моделей, т.е посты до разделяющих элементов (слайдеров в данном случае) взять в один класс, а последующие в другой и далее их уже таким образом редактировать. Конечно костыль, но не знаю, как его настроить, т.к совместно эти модели у меня не отображаются, т.е либо одна, либо другая. Также я создал отдельный класс для Главного Поста, т.к он имеет другое оформление и по сути всегда висит в топе, но конечно идеально реализовать так, чтобы у модели был такой атрибут, чтобы можно было указать конкретному посту, что он является главным и само собой размещался в начале сайта.
Вот мой код (допустим, что мы добавили еще Posts_one, Posts_two, если говорить о случае использовании костыля, который у меня также не удался):
models.py:
from django.conf import settings
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
class **Toppost**(models.Model):
title = models.CharField(max_length=200)
caption = models.CharField(max_length=150, default='краткое описание поста')
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
class **Post**(models.Model):
title = models.CharField(max_length=200)
caption = models.CharField(max_length=150, default='краткое описание поста')
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
views.py:
from django.shortcuts import render, get_object_or_404
from django.utils import timezone
from .models import Post, Toppost
def posts_list(request):
posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
return render(request, 'blog/posts_list.html', {'posts': posts})
topposts = Toppost.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
return render(request, 'blog/posts_list.html', {'topposts': topposts})
Также прилагаю скриншот со схемой, как это должно выглядеть. В идеале, конечно интересно узнать, как это можно реализовать так, чтобы все это было одной моделью Posts и не разрушало вёрстку сайта и чтобы можно было выделить любой пост как Главный_Пост.
