Python Academy · Lektion

Django Admin

Hantera data med administrationswebbplatsen

Lektion 4 av 413 steg

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.py för att få CRUD-vyer
  • ModelAdmin anpassar kolumner, sökning och filter
  • Definiera __str__ för läsbara etiketter; behörigheter begränsar åtkomsten
Gratis att börja

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.

Alla lektioner i den här kursen

  1. Projekt och appar
  2. Modeller och migreringar
  3. Vyer och URL:er
  4. Django Admin
← Tillbaka till Python Academy