为什么我的 Django 没有显示来自模板的模型渲染?

时间:2021-03-08 10:41:26

标签: python html django

我正在尝试创建一个包含电影的 Django 项目站点。在模板中,我指定了 for 循环和models.atribute,但是当我呈现页面时它们不显示。我通过 django shell 创建了模型,我将附上下面的屏幕截图。 我的错误是什么?

enter image description here

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1> This is the header</h1>

{% for movie in movies %}
    <h1>Test</h1>
<h1>{{ movie.title }}</h1>
<p>{{ movie.description }}</p>
<p>{{ movie.created_date }}</p>

{% endfor %}

<h2>But this is not header</h2>

</body>
</html>

视图.py

def Page(request):
    movies = Movie.objects.all()
    context = {'movie': movies}
    return render(request, 'index.html', context)

模型.py

class Movie(models.Model):
    movieid = models.IntegerField(null=True)
    title = models.CharField(max_length=30, blank=False, null=False)
    created_date = models.DateTimeField(auto_now_add=True)
    slug = models.SlugField(max_length=150,null=True)
    description = models.TextField(blank=True, null=True)
    poster = models.ImageField(upload_to="../MovieApp/movies/static/img/", default='../img/default-movie.png')

    class Meta:
        ordering = ["-created_date"]

    def save(self, *args, **kwargs):
        self.slug = slugify(self.title)
        super().save(*args, **kwargs)

    def __str__(self):
        return self.title

0 个答案:

没有答案
相关问题