python - 如何从 django-admin 面板获取所有项目?

标签 python html django

我有一个 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 页面的输出只是“我的博客”,其中没有任何博客,在我的管理面板中我有 4 个博客,我尝试打印

for bl in all_blogs:
    print(str(bl))

但是不行,我还检查了本地数据库中的博客,没有问题。

最佳答案

all() [Django-doc]是一个方法,而不是属性,因此您应该调用它来获取所有Blog对象的查询集,因此:

def list_blogs(request):
    all_blogs = Blog.objects<b>.all()</b>
    return render(request, 'blogs.html', {'blogs': all_blogs})

此外,在上下文中,您将查询集命名为 blogs不是 all_blogs(这是 View 中变量的名称,但是您将其作为 'blogs' 传递到上下文),因此您应该将 View 中的键更改为 'all_blogs',或者将模板中的变量更改为:

<ul>
    {% for bl in <b>blogs</b> %}
        <li>{{bl.header}}</li>
    {% endfor %}
</ul>

关于python - 如何从 django-admin 面板获取所有项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52768655/

相关文章:

django - 如何在 Django 中替换占位符(变量)中的占位符?

c++ - 嵌入式 Python 2.7.2 从用户定义的目录导入模块

python - 比较Python API的时间复杂度

html - 可靠地使用 hammer.js 获取平移事件,同时仍然在 iOS 中自然滚动......?

python - 从 HTML 到 Python 文件调用函数

python - Django 中的单模型动态数据库设置

python - 更改图例位置 seaborn 因子图

python - 任何人都可以解释这种准确性和我的网络丢失的行为吗?

javascript - 相互更改两个选择元素

javascript - 如何创建一个与进度条中填充的进度 div 一起移动的 div?