Django Admin
Hantera data med administrationswebbplatsen
Django Admin är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Python Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Python Academy innehåller totalt 4 lektioner.
Det inbyggda admin-gränssnittet
Django levereras med ett kraftfullt admin-gränssnitt: ett automatiskt genererat webbgränssnitt för hantering av dina data. Det är en av Djangos mest uppskattade funktioner.
# The admin gives you CRUD screens
# for your models with zero UI code
print('Django admin manages data out of the box')Admin är redan installerat
Admin finns i django.contrib.admin, ingår som standard i INSTALLED_APPS och är inkopplat i projektets 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')Skapa en superanvändare
Du behöver ett adminkonto för att logga in. Skapa ett med python manage.py createsuperuser och följ anvisningarna.
# python manage.py createsuperuser
# Username: admin
# Email: admin@example.com
# Password: ********
print('createsuperuser makes an admin login')Logga in
Starta servern och gå till /admin/. Logga in med dina uppgifter för superanvändaren för att komma till kontrollpanelen.
# python manage.py runserver
# Open http://127.0.0.1:8000/admin/
print('Visit /admin/ and log in')Registrera en modell
Modeller visas inte i admin förrän du har registrerat dem. Gör detta i appens admin.py med 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')Hantera data
När modellen har registrerats får du fullständiga CRUD-vyer: visa alla rader, lägga till nya, redigera och ta bort, utan att skriva några formulär.
# 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')Anpassa med ModelAdmin
En klass av typen ModelAdmin anpassar hur en modell visas. list_display väljer vilka kolumner som visas i listvyn.
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')Sökning och filter
Lägg till search_fields för ett sökfält och list_filter för filter i sidofältet, så att du kan navigera i stora datamängder.
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-dekoratorn
Dekoratorn @admin.register() är ett tydligt alternativ till att anropa admin.site.register() separat.
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__ är viktigt
Definiera __str__ i din modell så att admin visar en läsbar etikett i stället för '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')Behörigheter
Admin respekterar användarnas behörigheter. Du kan skapa personalanvändare med begränsade rättigheter, så att inte alla har full åtkomst som superanvändare.
# Staff users (is_staff=True) can access the admin
# Permissions control which models they can edit
print('Permissions limit admin access')Snabbtest
Testa dina kunskaper om admin.
Sammanfattning
Du har använt Djangos admin för att hantera data.
- Admin är inbyggt och finns på
/admin/ - Skapa ett konto med
createsuperuser - Registrera modeller i
admin.pyför att få CRUD-vyer ModelAdminanpassar kolumner, sökning och filter- Definiera
__str__för läsbara etiketter; behörigheter begränsar åtkomsten
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 76
- Lektioner
- 320
Vanliga frågor
Är lektionen ”Django Admin” gratis?
Ja – hela texten till ”Django Admin” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Python Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Python Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Django Admin”?
Hantera data med administrationswebbplatsen Ni övar på Python Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Python Academy?
Du behöver inga förkunskaper. Utbildningen i Python Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Django Admin”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Python Academy-lektionen?
Ja. Varje Python Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.