FAQ: интерфейс администрирования

Не могу подключиться. Когда я ввожу действительное имя пользователя и пароль, он всегда возвращает меня на ту же страницу входа без каких-либо сообщений об ошибках.

Файл cookie для входа установлен неправильно, поскольку домен файла cookie, отправленного Django, не соответствует домену браузера. Попробуйте установить настройку SESSION_COOKIE_DOMAIN так, чтобы домен соответствовал вашему домену. Например, если вы используете адрес «  https://www.example.com/admin/  » в своем браузере, установите .SESSION_COOKIE_DOMAIN = 'www.example.com'

Не могу подключиться. Когда я ввожу действительную пару имени пользователя и пароля, я снова получаю страницу входа с ошибкой: «Введите действительное имя пользователя и пароль».

Если вы уверены, что ваше имя пользователя и пароль верны, убедитесь, что для атрибутов is_active и is_staff вашей учетной записи установлено значение True. Сайт администрирования разрешает доступ только тем пользователям, у которых в этих двух полях установлено значение True.

Как автоматически установить значение поля с пользователем, который обновил объект последним в интерфейсе администрирования?

Класс ModelAdmin предлагает точки расширения, которые позволяют преобразовывать объект при его сохранении на основе информации из запроса. Получив текущего пользователя запроса и расширив метод save_model() , вы можете обновить объект, чтобы он содержал пользователя, который его изменил. См. Пример в документации ModelAdmin .

Как ограничить доступ к интерфейсу администрирования, чтобы объекты мог изменять только их создатель?

Класс ModelAdmin также предлагает точки расширения для управления видимостью и возможностью редактирования объектов в интерфейсе администрирования. Используется тот же прием, что и для извлечения пользователя из запроса, get_queryset() и has_change_permission() может использоваться для управления видимостью и возможностью редактирования объектов в интерфейсе администрирования.

CSS и изображения моего административного сайта отлично отображаются на сервере разработки, но больше не при использовании mod_wsgi.

См. Информацию о файловой службе администрации в документации «Как использовать Django с mod_wsgi».

Мой "list_filter" содержит поле ManyToManyField, но фильтр не отображается.

Django не беспокоит отображение результата фильтра, ManyToManyField если он не содержит более одного связанного элемента.

Например, если вы list_filter включаете сайты и в вашей базе данных только один сайт, фильтр «Сайт» отображаться не будет. В этом случае фильтрация по сайту не нужна.

Некоторые объекты не отображаются в интерфейсе администрирования.

Несоответствие в количестве строк может быть вызвано отсутствием значений внешнего ключа или неправильно определенным полем внешнего ключа с null=False . Если у вас есть запись с ForeignKey указанием на несуществующий объект и этот внешний ключ включен list_display , запись не будет отображаться в списке административных объектов, поскольку модель Django декларирует нереализованное ограничение целостности. на уровне базы данных.

Как я могу настроить функциональность интерфейса администрирования?

У вас есть несколько вариантов. Если вы хотите внедрить поверх автоматически сгенерированной формы добавления / редактирования с помощью Django, вы можете прикрепить к странице любой модуль JavaScript с помощью параметра js класса Admin модели. Этот параметр представляет собой список URL-адресов в виде символьной строки, указывающих на модули JavaScript, которые будут включены в форму администрирования через тег <script> .

Если вам нужна большая гибкость, чем можно добиться путем настройки автоматически сгенерированных форм, вы можете создавать собственные представления для администрирования. Сам интерфейс администратора основан на Django, и вы можете писать собственные представления, которые подключаются к системе аутентификации, проверяют разрешения и делают все, что им нужно.

Если вы хотите изменить внешний вид интерфейса администратора, прочтите следующий вопрос.

Мне не нравится динамически генерируемый админский сайт. Как я могу это изменить?

С нашей стороны, мы ценим это, но если это не ваш случай, вы можете изменить представление сайта администрирования, отредактировав таблицу стилей CSS или связанные изображения. Сайт построен с использованием семантического HTML и множества точек привязки CSS, поэтому любые изменения, которые вы хотите внести, должны быть возможны путем изменения таблицы стилей.

Какие браузеры поддерживает сайт администрирования?

Администратор обеспечивает полнофункциональную работу с последними версиями современных браузеров, соответствующих веб-стандартам. На ПК это означает Chrome, Edge, Firefox, Opera, Safari и другие.

На мобильных устройствах и планшетах администратор обеспечивает адаптивность браузеров, соответствующих веб-стандартам. Сюда входят основные браузеры как на Android, так и на iOS.

В зависимости от поддерживаемых функций браузеры могут иметь незначительные стилистические различия. Это считается допустимыми вариациями в рендеринге.

Copyright ©2020 All rights reserved