[英]How to get all items from django-admin panel?
我有一个html页面在哪里
<body>
<h8>
MY BLOGS
</h8>
<ul>
{% for bl in all_blogs %}
<li>{{bl.header}}</li>
{% endfor %}
</ul>
在“ ul”中,它必须显示all_blogs中的所有项目是什么
def list_blogs(request):
all_blogs = Blog.objects.all
return render(request, 'blogs.html', {'blogs': all_blogs})
和博客是
class Blog(models.Model):
header = models.CharField(max_length=100)
data = models.CharField(max_length=500)
def __str__(self):
return self.header
并且html页面的输出仅为“ MY BLOG”,其中没有任何博客,在管理面板中我有4个博客,我尝试打印
for bl in all_blogs:
print(str(bl))
但它不起作用,我还检查了本地数据库中的博客,这很好。
all()
[Django-doc]是一个方法,而不是属性,因此应调用它以获取所有Blog
对象的queryset,因此:
def list_blogs(request):
all_blogs = Blog.objects.all()
return render(request, 'blogs.html', {'blogs': all_blogs})
此外,在上下文中,您将queryset命名为blogs
, 而不是 all_blogs
(这是视图中变量的名称,但是将其作为'blogs'
传递给上下文),因此您应该将视图中的键更改为'all_blogs'
,或将模板中的变量更改为:
<ul>
{% for bl in blogs %}
<li>{{bl.header}}</li>
{% endfor %}
</ul>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.