Работа с админкой
Для работы с админкой с начала нужно создать суперпользователя командой python3 manage.py createsuperuser
Для регистрации модуля в админке необходимо в папке модуля зайти в файл admin.py
и вставить следующий код:
from .models import News
admin.site.register(News)
Для локализации вывода информации в админке необходимо в файле models.py
нужного модуля добавить подкласс в классе который мы будем локализовывать:
class Meta:
verbose_name = 'Новость'
verbose_name_plural = 'Новости'
ordering = ['-created_at']
Для локализации названия модуля необходимо добавить в файл apps.py
в класс class NewsConfig(AppConfig)
следующую строчку:
verbose_name = 'Новости'
Для добавления дополнительной информации о кажом конкретном экземпляре необходимо в файле admin.py
добавить специальный класс редактор:
class NewsAdmin(admin.ModelAdmin):
list_display = ('id', 'title', 'created_at', 'updated_at', 'is_published')
list_display_links = ('id', 'title')
search_fields = ('title', 'content')
list_editable = ('is_published',)
list_filter = ('is_published', 'category')
Параметр | Описание |
---|---|
list_display | Отображаемые поля в админке |
list_display_links | Какие поля будут кликабельными |
search_fields | По каким полям возможен поиск |
list_editable | Какое поле можно будет редактировать из быстрого просмотра списка в админке |
list_filter | Указываем по каким полям можно будет фильтровать список в админке |
и далее регистрируем эту модель
admin.site.register(News, NewsAdmin)
Внимание! Очень важен порядок регистрвйции моделей. Сначала регистрируем саму модель и только потом её оформление.