ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ: Администратор

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

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(), вы можете обновить объект, чтобы он отражал пользователя, который его редактировал. Пример см. в the documentation on ModelAdmin methods.

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

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

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

См. serving the admin files в документации «Как использовать Django с mod_wsgi».

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

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

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

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

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

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

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

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

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

Динамически генерируемый сайт администратора уродлив! Как я могу изменить его?

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

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

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

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

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

Вернуться на верх