簡體   English   中英

如何從django-admin面板獲取所有項目?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM