Python Academy · Lektion

Django Admin

Administrér data med administrationssiden

Lektion 4 af 413 trin

Django Admin er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 4 lektioner i alt.

Den indbyggede administration

Django leveres med et effektivt administrationssite: en automatisk genereret webgrænseflade til håndtering af dine data. Det er en af Djangos mest populære funktioner.

# The admin gives you CRUD screens
# for your models with zero UI code
print('Django admin manages data out of the box')

Administrationen er allerede installeret

Administrationen ligger i django.contrib.admin, som er inkluderet i INSTALLED_APPS som standard og er forbundet med 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')

Oprette en superbruger

For at logge ind skal du have en administratorkonto. Opret en med python manage.py createsuperuser, og følg anvisningerne.

# python manage.py createsuperuser
# Username: admin
# Email: admin@example.com
# Password: ********
print('createsuperuser makes an admin login')

Logge ind

Start serveren, og gå til /admin/. Log ind med dine superbrugeroplysninger for at åbne kontrolpanelet.

# python manage.py runserver
# Open http://127.0.0.1:8000/admin/
print('Visit /admin/ and log in')

Registrere en model

Modeller vises ikke i administrationen, før du registrerer dem. Gør det 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')

Håndtere data

Når modellen er registreret, får du komplette CRUD-skærmbilleder: vis alle rækker, tilføj nye, redigér og slet, alt sammen uden at skrive formularer.

# 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')

Tilpasse med ModelAdmin

En ModelAdmin-klasse tilpasser, hvordan en model vises. list_display vælger, hvilke kolonner der vises i listevisningen.

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øgning og filtre

Tilføj search_fields for at få et søgefelt og list_filter for at få filtre i sidepanelet, så du kan finde rundt i store datasæt.

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-dekoratoren

Dekoratoren @admin.register() er et enkelt alternativ til at kalde 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__ er vigtig

Definér __str__ på din model, så administrationen viser en læsbar etiket i stedet for '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')

Tilladelser

Administrationen respekterer brugertilladelser. Du kan oprette medarbejderbrugere med begrænsede rettigheder, så ikke alle har fuld superbrugeradgang.

# Staff users (is_staff=True) can access the admin
# Permissions control which models they can edit
print('Permissions limit admin access')

Hurtig kontrol

Afprøv din viden om administrationen.

Opsummering

Du har brugt Djangos administration til at håndtere data.

  • Administrationen er indbygget og knyttet til /admin/
  • Opret en konto med createsuperuser
  • Registrér modeller i admin.py for at få CRUD-skærmbilleder
  • ModelAdmin tilpasser kolonner, søgning og filtre
  • Definér __str__ for at få læsbare etiketter; tilladelser begrænser adgangen
Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
76
Lektioner
320

Ofte stillede spørgsmål

Er lektionen “Django Admin” gratis?

Ja — hele teksten til “Django Admin” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Django Admin”?

Administrér data med administrationssiden Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Python Academy?

Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Django Admin”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Python Academy-lektion?

Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Projekter og apps
  2. Modeller og migrationer
  3. Views og URL'er
  4. Django Admin
← Tilbage til Python Academy