Python Django: Как передать данные модели на стартовую страницу администратора по умолчанию (индекс. html)? - PullRequest
0 голосов
/ 15 апреля 2020

Я создал приложение Python Django и хотел бы создать некую панель управления на стартовой / стандартной странице ADMIN (index. html). Для этого я хочу отобразить, например, разные данные моих моделей.

Я пытался получить доступ к данным своих моделей за пределами области администратора и отображать их так, как мне нравится. Это сработало там. Тем не менее, он не работал с тем же кодом в области администратора на начальной странице по умолчанию.

Я не знаю, как получить доступ к моим моделям / объектам на стартовой странице index.html / Admin.

Я благодарен за любую помощь.

1 Ответ

1 голос
/ 15 апреля 2020

Вы можете написать собственный шаблон контекстный процессор , например:

# 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 %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...