Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Django上进行后期预览最有效的方法是什么?_Django_Django Models_Django Views - Fatal编程技术网

在Django上进行后期预览最有效的方法是什么?

在Django上进行后期预览最有效的方法是什么?,django,django-models,django-views,Django,Django Models,Django Views,我正在制作一个博客,我希望主页上只显示每篇文章的前100个字符 我的观点是更好地利用空间。如果一个人想阅读一篇文章,他可以点击阅读 我对如何做有一些想法,但我认为这些想法行不通或效率低下: 要在blog models.py上创建一个子类,我将继承Post类,将每个内容的前100个字符保存到一个列表中,并循环保存数据库中的每个列表 在blog views.py“FirstPageView”类上放置说明,其中只显示前100个字符 提到的“Post”和“FirstPageView”类如下: 在“b

我正在制作一个博客,我希望主页上只显示每篇文章的前100个字符

我的观点是更好地利用空间。如果一个人想阅读一篇文章,他可以点击阅读

我对如何做有一些想法,但我认为这些想法行不通或效率低下:

  • 要在blog models.py上创建一个子类,我将继承Post类,将每个内容的前100个字符保存到一个列表中,并循环保存数据库中的每个列表
  • 在blog views.py“FirstPageView”类上放置说明,其中只显示前100个字符
提到的“Post”和“FirstPageView”类如下:

在“blog/views.py”上:

在“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})
那么,制作这些预览的最有效方法是什么呢?

您可以使用:

{{posts.content}truncatechars:100}

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})