Panel administracyjny Django
Zarządzaj danymi w panelu administracyjnym
Panel administracyjny Django to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.
Wbudowany panel administracyjny
Django zawiera zaawansowany panel administracyjny: automatycznie generowany interfejs internetowy do zarządzania danymi. To jedna z najbardziej cenionych funkcji Django.
# The admin gives you CRUD screens
# for your models with zero UI code
print('Django admin manages data out of the box')Panel administracyjny jest już zainstalowany
Panel administracyjny znajduje się w django.contrib.admin, który domyślnie jest uwzględniony w INSTALLED_APPS, i jest podłączony w projektowym pliku 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')Tworzenie superużytkownika
Aby się zalogować, potrzebujesz konta administratora. Utwórz je za pomocą python manage.py createsuperuser i postępuj zgodnie z instrukcjami.
# python manage.py createsuperuser
# Username: admin
# Email: admin@example.com
# Password: ********
print('createsuperuser makes an admin login')Logowanie
Uruchom serwer i odwiedź adres /admin/. Zaloguj się przy użyciu danych superużytkownika, aby przejść do panelu.
# python manage.py runserver
# Open http://127.0.0.1:8000/admin/
print('Visit /admin/ and log in')Rejestrowanie modelu
Modele nie pojawią się w panelu administracyjnym, dopóki ich nie zarejestrujesz. Zrób to w pliku admin.py aplikacji za pomocą 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')Zarządzanie danymi
Po zarejestrowaniu modelu otrzymujesz pełne ekrany CRUD: możesz wyświetlać wszystkie wiersze, dodawać nowe, edytować je i usuwać, a wszystko to bez pisania formularzy.
# 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')Dostosowywanie za pomocą ModelAdmin
Klasa ModelAdmin dostosowuje sposób wyświetlania modelu. list_display określa, które kolumny są widoczne na liście.
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')Wyszukiwanie i filtrowanie
Dodaj search_fields, aby uzyskać pole wyszukiwania, oraz list_filter, aby dodać filtry na pasku bocznym i ułatwić przeglądanie dużych zbiorów danych.
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')Dekorator register
Dekorator @admin.register() to przejrzysta alternatywa dla osobnego wywoływania 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')Znaczenie __str__
Zdefiniuj __str__ w modelu, aby panel administracyjny wyświetlał czytelną etykietę zamiast „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')Uprawnienia
Panel administracyjny respektuje uprawnienia użytkowników. Możesz tworzyć użytkowników personelu z ograniczonymi uprawnieniami, aby nie każdy miał pełny dostęp superużytkownika.
# Staff users (is_staff=True) can access the admin
# Permissions control which models they can edit
print('Permissions limit admin access')Szybki sprawdzian
Sprawdź swoją wiedzę na temat panelu administracyjnego.
Podsumowanie
Użyłeś panelu administracyjnego Django do zarządzania danymi.
- Panel administracyjny jest wbudowany i dostępny pod adresem
/admin/ - Konto utworzysz za pomocą
createsuperuser - Zarejestruj modele w pliku
admin.py, aby uzyskać ekrany CRUD ModelAdmindostosowuje kolumny, wyszukiwanie i filtry- Zdefiniuj
__str__, aby uzyskać czytelne etykiety; uprawnienia ograniczają dostęp
Często zadawane pytania
Czy lekcja „Panel administracyjny Django” jest bezpłatna?
Tak — pełny tekst „Panel administracyjny Django” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Panel administracyjny Django”?
Zarządzaj danymi w panelu administracyjnym Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Python Academy?
Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Panel administracyjny Django”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?
Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Projekty i aplikacje
- Modele i migracje
- Widoki i adresy URL
- Panel administracyjny Django