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
- Crear un Superusuari
Per accedir a la interfície d'administració, primer necessitem crear un superusuari. Això es fa amb la següent comanda:
Se't demanarà que introdueixis un nom d'usuari, una adreça de correu electrònic i una contrasenya.
- 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)
- 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ó
- 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)
- 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)
- 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
-
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
-
Registrar el Model a l'Administració:
# admin.py from django.contrib import admin from .models import Blog admin.site.register(Blog)
-
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ó.
Curs de Desenvolupament Web amb Django
Mòdul 1: Introducció a Django
- Què és Django?
- Configuració de l'Entorn de Desenvolupament
- Creació del teu Primer Projecte Django
- Comprensió de l'Estructura del Projecte Django
Mòdul 2: Conceptes Bàsics de Django
- Aplicacions Django i Estructura del Projecte
- Enrutament d'URL i Vistes
- Plantilles i Fitxers Estàtics
- Models i Bases de Dades
- Interfície d'Administració de Django
Mòdul 3: Django Intermedi
Mòdul 4: Django Avançat
- Consultes Avançades amb Django ORM
- Models d'Usuari Personalitzats
- Senyalitzacions de Django
- Proves en Django
- Optimització del Rendiment