ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ: Администратор¶
Я не могу войти в систему. Когда я ввожу действительное имя пользователя и пароль, снова появляется страница входа в систему, без сообщений об ошибках.¶
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.
В зависимости от поддержки функций, между браузерами могут существовать незначительные стилистические различия. Они считаются приемлемыми вариациями рендеринга.