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

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

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

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

Администратор обеспечивает полнофункциональную работу браузеров YUI’s A-grade, за исключением IE6, который не поддерживается.

Между поддерживаемыми браузерами могут существовать незначительные стилистические различия - например, некоторые браузеры могут не поддерживать закругленные углы. Такие различия считаются приемлемыми.

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