Python Django:如何将模型的数据传递到Admin默认起始页(index.html)?

问题描述 投票:0回答:1

我已经创建了Python Django应用程序,并希望在ADMIN起始页/默认页(index.html)上构建一种仪表板。为此,我想显示例如我模型的不同数据。

我试图在管理区域之外访问我的模型的数据,并根据需要显示它们。它在那里工作。但是,它不能与默认起始页上管理区域中的相同代码一起使用。

我不知道如何在index.html / Admin起始页中访问我的模型/对象。

我非常感谢您的帮助。

python html django
1个回答
1
投票

您可以这样编写自定义模板context processor

# file: my_app/context_processors/dashboard.py

def dashboard(request):
    return {'model1': Model1.objects.all(), 'model2': Model2.objects.all(), ... }

并将其添加到context_processors中的TEMPLATES部分:

'OPTIONS': {
        'context_processors': [
            # rest of the processors
            'my_app.context_processors.dashboard'
        ],
 }

最后,在管理网站模板中的任何位置使用它:

{% for model in model1 %}
    {{ model.pk }}
{% endfor %}
© www.soinside.com 2019 - 2024. All rights reserved.