使用Django显示特定的表字段(博客文本)

时间:2017-11-06 08:45:46

标签: python html django

希望是一个简单的,但我自己也找不到自己的错误。我有一个简单的博客应用程序,我可以用一种奇怪的格式显示帖子标题,但不能通过帖子正文/文本 - 我得到的只是一个空行。

  

/models.py

from django.db import models
from django.utils import timezone

class Post(models.Model):
    title = models.CharField(max_length=200)
    body = models.TextField()
    pub_date = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return self.title
  

/views.py

from django.shortcuts import render
from .models import Post

def index(request):
    posting = Post.objects.filter()
    context = {
        'posting':posting,
              }
    return render(request, 'posts/index.html', context)
  

/templates/posts/index.html

<li>{{posting}}</li>
<li>{{posting.body}}</li>
<li>test text</li>

页面的输出类似于(由于html格式化而道歉不准确,但请注意空白中间行):

  • QuerySet [帖子:第一篇文章&gt;,帖子:第二篇文章&gt;,帖子:第三篇文章&gt;]&gt;
  • 测试文字
  • 谢谢。

    1 个答案:

    答案 0 :(得分:0)

    重写您的查询
    posting = Post.objects.filter()
    

    posting = Post.objects.all()
    

    除非你没有过滤任何东西。而你正在打印整个对象。要获得这样的具体信息

    {% for post in posting %}
        <li>{{post.title}}</li>
        <li>{{post.body}}</li>
        <li>test text</li>
    {% endfor %}