Административная панель Django
Управляйте данными через административный сайт
«Административная панель Django» — бесплатный урок Python Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.
Встроенная административная панель
Django поставляется с мощным административным сайтом — автоматически создаваемым веб-интерфейсом для управления данными. Это одна из самых популярных возможностей Django.
# The admin gives you CRUD screens
# for your models with zero UI code
print('Django admin manages data out of the box')Административная панель уже установлена
Административная панель находится в django.contrib.admin, по умолчанию включена в INSTALLED_APPS и подключена в файле urls.py проекта.
# mysite/urls.py
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
print('admin/ is mapped to the admin site')Создание суперпользователя
Для входа Вам потребуется учётная запись администратора. Создайте её с помощью команды python manage.py createsuperuser и следуйте инструкциям.
# python manage.py createsuperuser
# Username: admin
# Email: admin@example.com
# Password: ********
print('createsuperuser makes an admin login')Вход в систему
Запустите сервер и откройте /admin/. Введите учётные данные суперпользователя, чтобы открыть панель управления.
# python manage.py runserver
# Open http://127.0.0.1:8000/admin/
print('Visit /admin/ and log in')Регистрация модели
Модели не появляются в административной панели, пока Вы не зарегистрируете их. Сделайте это в файле admin.py приложения с помощью admin.site.register().
# blog/admin.py
from django.contrib import admin
from .models import Post
admin.site.register(Post)
print('Post now appears in the admin')Управление данными
После регистрации Вы получаете полноценные экраны для создания, просмотра, изменения и удаления данных: можно просматривать все записи, добавлять новые, редактировать и удалять их без написания форм.
# In the admin you can:
# - view a list of all Posts
# - add a new Post
# - edit or delete existing ones
print('Full CRUD with no extra code')Настройка с помощью ModelAdmin
Класс ModelAdmin настраивает отображение модели. Параметр list_display определяет, какие столбцы показывать в списке.
from django.contrib import admin
from .models import Post
class PostAdmin(admin.ModelAdmin):
list_display = ('title', 'created', 'published')
admin.site.register(Post, PostAdmin)
print('list_display picks the columns')Поиск и фильтры
Добавьте search_fields, чтобы получить поле поиска, и list_filter, чтобы добавить фильтры на боковую панель для работы с большими наборами данных.
from django.contrib import admin
from .models import Post
class PostAdmin(admin.ModelAdmin):
search_fields = ('title',)
list_filter = ('published',)
admin.site.register(Post, PostAdmin)
print('Search box and sidebar filters added')Декоратор register
Декоратор @admin.register() — удобная альтернатива отдельному вызову admin.site.register().
from django.contrib import admin
from .models import Post
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ('title',)
print('@admin.register is the decorator form')Значение __str__
Определите __str__ в своей модели, чтобы административная панель показывала понятную подпись вместо «Post object (1)».
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
def __str__(self):
return self.title
print('__str__ gives a readable admin label')Разрешения
Административная панель учитывает разрешения пользователей. Вы можете создавать пользователей-п сотрудников с ограниченными правами, чтобы не всем был доступен полный доступ суперпользователя.
# Staff users (is_staff=True) can access the admin
# Permissions control which models they can edit
print('Permissions limit admin access')Быстрая проверка
Проверьте свои знания об административной панели.
Итоги
Вы использовали административную панель Django для управления данными.
- Административная панель встроена в Django и доступна по адресу
/admin/ - Учётная запись создаётся с помощью
createsuperuser - Зарегистрируйте модели в
admin.py, чтобы получить экраны для создания, просмотра, изменения и удаления данных ModelAdminнастраивает столбцы, поиск и фильтры- Определите
__str__для понятных подписей; разрешения ограничивают доступ
Часто задаваемые вопросы
Урок «Административная панель Django» бесплатный?
Да — полный текст урока «Административная панель Django» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.
Чему я научусь в уроке «Административная панель Django»?
Управляйте данными через административный сайт Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Python Academy?
Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Административная панель Django»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Python Academy?
Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Проекты и приложения
- Модели и миграции
- Представления и URL-адреса
- Административная панель Django