Я делаю блог, где хочу, чтобы на главной странице отображались только первые 100 символов каждого сообщения.
Моя цель - лучше использовать пространство. Если человек хочет прочитать сообщение, он может просто щелкнуть, чтобы прочитать его.
У меня есть несколько идей о том, как это сделать, но я думаю, что они не будут работать или неэффективны:
- Чтобы создать подкласс в блоге models.py, где я бы унаследовал класс Post, сохраните первые сто символов каждого содержимого в списке и сделайте al oop, чтобы сохранить каждый список в базе данных;
- Чтобы разместить инструкцию в классе views.py 'FirstPageView' блога, где он будет отображать только первые сто символов.
Упомянутые классы 'Post' и 'FirstPageView' следующие:
на 'blog / views.py':
from django.views.generic import ListView
class FirstPageView(ListView):
model = Post
template_name = 'Blog/home.html'
context_object_name = 'posts'
ordering = ['-date_posted']
paginate_by = 6
на 'blog / models.py':
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from django.urls import reverse
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, models.SET_NULL, blank=True, null=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('post-detail', kwargs={'pk': self.pk})
Так что бы быть самым эффективным способом сделать эти предварительные просмотры?