La interfície d'administració de Django és una eina poderosa que permet gestionar fàcilment les dades de la teva aplicació. Aquesta interfície es genera automàticament i proporciona una manera intuïtiva de crear, llegir, actualitzar i eliminar registres de la base de dades.

Objectius d'Aquesta Secció

  • Comprendre què és la interfície d'administració de Django.
  • Aprendre a configurar i personalitzar l'administració.
  • Gestionar models a través de l'administració.

Què és la Interfície d'Administració de Django?

La interfície d'administració de Django és una aplicació preconstruïda que ve amb Django per defecte. Permet als desenvolupadors i administradors del lloc gestionar el contingut del lloc web sense necessitat d'escriure codi addicional.

Característiques Clau

  • CRUD: Permet Crear, Llegir, Actualitzar i Eliminar registres.
  • Autenticació: Només els usuaris autenticats poden accedir-hi.
  • Personalització: Es pot personalitzar per adaptar-se a les necessitats específiques de l'aplicació.

Configuració de l'Administració de Django

  1. Crear un Superusuari

Per accedir a la interfície d'administració, primer necessitem crear un superusuari. Això es fa amb la següent comanda:

python manage.py createsuperuser

Se't demanarà que introdueixis un nom d'usuari, una adreça de correu electrònic i una contrasenya.

  1. Registrar Models a l'Administració

Perquè els models apareguin a la interfície d'administració, han de ser registrats. Això es fa al fitxer admin.py de l'aplicació.

# admin.py
from django.contrib import admin
from .models import Article

admin.site.register(Article)

  1. Accedir a la Interfície d'Administració

Un cop creat el superusuari i registrats els models, pots accedir a la interfície d'administració navegant a http://localhost:8000/admin/ i iniciant sessió amb les credencials del superusuari.

Personalització de l'Administració

  1. Personalitzar la Visualització de Models

Pots personalitzar com es mostren els models a la interfície d'administració utilitzant la classe ModelAdmin.

# admin.py
from django.contrib import admin
from .models import Article

class ArticleAdmin(admin.ModelAdmin):
    list_display = ('title', 'author', 'published_date')
    search_fields = ('title', 'content')

admin.site.register(Article, ArticleAdmin)

  1. Personalitzar Formularis d'Edició

També pots personalitzar els formularis d'edició dels models.

# admin.py
from django.contrib import admin
from .models import Article

class ArticleAdmin(admin.ModelAdmin):
    fields = ('title', 'author', 'content', 'published_date')

admin.site.register(Article, ArticleAdmin)

  1. Filtratge i Ordenació

Pots afegir filtres i opcions d'ordenació per facilitar la gestió de grans quantitats de dades.

# admin.py
from django.contrib import admin
from .models import Article

class ArticleAdmin(admin.ModelAdmin):
    list_filter = ('author', 'published_date')
    ordering = ('-published_date',)

admin.site.register(Article, ArticleAdmin)

Exercici Pràctic

Objectiu

Configurar i personalitzar la interfície d'administració per a un model de blog.

Passos

  1. Crear un Model de Blog:

    # models.py
    from django.db import models
    
    class Blog(models.Model):
        title = models.CharField(max_length=100)
        content = models.TextField()
        author = models.CharField(max_length=50)
        published_date = models.DateTimeField(auto_now_add=True)
    
        def __str__(self):
            return self.title
    
  2. Registrar el Model a l'Administració:

    # admin.py
    from django.contrib import admin
    from .models import Blog
    
    admin.site.register(Blog)
    
  3. Personalitzar la Visualització:

    # admin.py
    from django.contrib import admin
    from .models import Blog
    
    class BlogAdmin(admin.ModelAdmin):
        list_display = ('title', 'author', 'published_date')
        search_fields = ('title', 'content')
        list_filter = ('author', 'published_date')
        ordering = ('-published_date',)
    
    admin.site.register(Blog, BlogAdmin)
    

Solució

Després de seguir els passos anteriors, hauràs configurat la interfície d'administració per al model de blog, permetent una gestió eficient dels articles del blog.

Errors Comuns i Consells

Errors Comuns

  • No registrar el model: Si no registres el model a admin.py, no apareixerà a la interfície d'administració.
  • No crear un superusuari: Sense un superusuari, no podràs accedir a la interfície d'administració.

Consells

  • Utilitza ModelAdmin per personalitzar: Això fa que la interfície sigui més útil i adaptada a les teves necessitats.
  • Prova la interfície: Assegura't que tot funciona correctament abans de desplegar l'aplicació.

Conclusió

La interfície d'administració de Django és una eina essencial per a la gestió de dades. Amb una configuració mínima, pots començar a gestionar els teus models de manera eficient. A més, la seva personalització permet adaptar-la a les necessitats específiques de la teva aplicació, millorant així la productivitat i l'eficiència en la gestió de continguts.

En el següent mòdul, explorarem la gestió de formularis a Django, una altra eina poderosa per interactuar amb les dades de la teva aplicació.

© Copyright 2024. Tots els drets reservats