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.
В зависимости от поддерживаемых функций браузеры могут иметь незначительные стилистические различия. Это считается допустимыми вариациями в рендеринге.