我已经创建了Python Django应用程序,并希望在ADMIN起始页/默认页(index.html)上构建一种仪表板。为此,我想显示例如我模型的不同数据。
我试图在管理区域之外访问我的模型的数据,并根据需要显示它们。它在那里工作。但是,它不能与默认起始页上管理区域中的相同代码一起使用。
我不知道如何在index.html / Admin起始页中访问我的模型/对象。
我非常感谢您的帮助。
您可以这样编写自定义模板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 %}