Link Search Menu Expand Document

Работа с админкой

Для работы с админкой с начала нужно создать суперпользователя командой 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)

Внимание! Очень важен порядок регистрвйции моделей. Сначала регистрируем саму модель и только потом её оформление.