[英]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.