【问题标题】:How to display blog post description structured correctly for a Django blog?如何为 Django 博客显示结构正确的博客文章描述?
【发布时间】:2023-02-18 13:15:09
【问题描述】:

我正在创建一个博客,它在博客文章中显示文章描述。但是发布数据显示奇数或继续文本。我希望帖子描述以作为输入给出的正确格式显示。

在 Urls.py 中

path('blog_single/<str:title>/', views.blog_single, name = 'blog_single'),

在 Views.py 中

def blog_single(request, title):
    posts = Post.objects.get(title = title)
    recent_posts = Post.objects.all().order_by('-posted_at')[:5]
    Categories = Category.objects.all()
    context = {'posts':posts, 'recent_posts':recent_posts , 'Categories': Categories}
    return render(request, 'blog-single.html', context)

在 blog-single.html 中

          <div class="entry-img">
            <img src="{{posts.thumbnail.url}}" alt="" class="img-fluid">
          </div>

          <h2 class="entry-title">
            <a href="#">{{posts.title}}</a>
          </h2>

          <div class="entry-meta">
            <ul>
              <li class="d-flex align-items-center"><i class="bi bi-person"></i> <a href="blog-single.html">{{posts.user}}</a></li>
              <li class="d-flex align-items-center"><i class="bi bi-clock"></i> <a href="blog-single.html"><time datetime="2020-01-01">{{posts.posted_at}}</time></a></li>
              <!-- <li class="d-flex align-items-center"><i class="bi bi-chat-dots"></i> <a href="blog-single.html">12 Comments</a></li> -->
              <li class="d-flex align-items-center"><i class="bi bi-list"></i> <a href="blog-single.html">{{posts.category}}</a></li>
            </ul>
          </div>

          <div class="entry-content">
            <p class="post__description">
              {{posts.description|safe}}
            </p>

          </div>

          <div class="entry-footer">
            <i class="bi bi-folder"></i>
            <ul class="cats">
              <li><a href="#">Business</a></li>
            </ul>

            <i class="bi bi-tags"></i>
            <ul class="tags">
              <li><a href="#">Creative</a></li>
              <li><a href="#">Tips</a></li>
              <li><a href="#">Marketing</a></li>
            </ul>
          </div>

        </article><!-- End blog entry -->

在 Models.py 文件中

class Post(models.Model):
    category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name = 'categories')
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='users')

    title = models.CharField(max_length =255)
    thumbnail = models.ImageField(upload_to = 'post/thumbnail')

    description = models.TextField()
    tags = models.CharField(max_length=255)

    posted_at = models.DateField(default = datetime.now)  
    is_published = models.BooleanField(default = False)


    class Meta:
        verbose_name = ("Post")
        verbose_name_plural = ('Posts')

        def __str__(self):
            return self.title

【问题讨论】:

    标签: python django post django-templates blogs


    【解决方案1】:

    我尝试将此过滤器安全地添加到帖子描述中,但博客帖子的内容仍然看起来很奇怪或继续文本。请让我知道如何正确地按照输入中给出的方式正确构造帖子输出。

    <div class="entry-content">
                    <p class="post__description">
                      {{posts.description|safe}}
                    </p>
    
    </div>
    

    【讨论】: