0Pricing
Python Academy · Урок

Административная панель 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 — локальная установка не требуется.

Все уроки этого курса

  1. Проекты и приложения
  2. Модели и миграции
  3. Представления и URL-адреса
  4. Административная панель Django
← Назад к Python Academy