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