遍历查询集时模型数据未显示在模板上

时间:2019-07-19 04:14:20

标签: django-models django-templates django-views

因此,当构建一个简单的Django网站时,我发现由于某种原因,我无法遍历所创建模型的查询集,并无法在要创建的模板中显示数据。

我已经更改了传递到视图中的字典的键,并且已经将数据保存在模型的数据库中,并且围绕模板的格式进行了更改。

该数据库具有我使用Python Shell检查的值。

这是模板代码:

<div class="container-fluid mt-3" >

    <h2 class="display-4"><center>Upcoming Events:</center></h2>


    { % for post in Posts % }
    <div class="row mt-3 ">

        <div class="col-sm-1">
        </div>

        <div class="col-md">                    
            <h4> { { post.title } } </h4>

            <p class="lead">
                { { post.text } }
            </p>
        </div>

        <div class="col-md">
            <img class="img-fluid mx-auto" src="static_files/pictures/logo_main.png">
        </div>

        <div class="col-sm-1">
        </div>

    </div>

    { % endfor % }

这是与模板交互的视图代码:

def home_view(request, *args, **kwargs):
    Posts_ = Posts.objects.all()

    context = {

        'Posts':Posts_

    }
    return render(request, "home.html", context)

这是感兴趣的模型:

class Posts(models.Model):
    title           = models.CharField(max_length=140)
    text            = models.TextField(blank=True, null=True) 
    date_posted     = models.DateTimeField(auto_now_add=True)
author          = models.ForeignKey(User, on_delete=models.CASCADE) 

    def __str__(self):
        return self.title

1 个答案:

答案 0 :(得分:0)

您在花括号之间放置了多余的空格,这是错误的语法。您需要更改:

  • { { post.title } }{{ post.title }}

  • { { post.text } }{{ post.text }}