El administrador de Django
Gestione datos con el sitio de administración
El administrador de Django es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.
La administración integrada
Django incluye un potente sitio de administración: una interfaz web generada automáticamente para gestionar sus datos. Es una de las funciones más apreciadas de Django.
# The admin gives you CRUD screens
# for your models with zero UI code
print('Django admin manages data out of the box')La administración ya está instalada
La administración se encuentra en django.contrib.admin, incluido de forma predeterminada en INSTALLED_APPS, y está conectado al urls.py del proyecto.
# 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')Cómo crear un superusuario
Para iniciar sesión necesita una cuenta de administración. Cree una con python manage.py createsuperuser y siga las indicaciones.
# python manage.py createsuperuser
# Username: admin
# Email: admin@example.com
# Password: ********
print('createsuperuser makes an admin login')Cómo iniciar sesión
Inicie el servidor y visite /admin/. Inicie sesión con las credenciales de su superusuario para acceder al panel.
# python manage.py runserver
# Open http://127.0.0.1:8000/admin/
print('Visit /admin/ and log in')Cómo registrar un modelo
Los modelos no aparecen en la administración hasta que los registra. Hágalo en el admin.py de la app con 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')Cómo gestionar datos
Una vez registrados, obtiene pantallas CRUD completas: listar todas las filas, añadir nuevas, editarlas y eliminarlas, todo sin escribir ningún formulario.
# 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')Personalización con ModelAdmin
Una clase ModelAdmin personaliza la forma en que aparece un modelo. list_display selecciona las columnas que se muestran en la vista de lista.
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')Búsqueda y filtros
Añada search_fields para incluir un cuadro de búsqueda y list_filter para añadir filtros en la barra lateral y navegar por grandes conjuntos de datos.
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')El decorador register
El decorador @admin.register() es una alternativa sencilla a llamar por separado a admin.site.register().
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')La importancia de __str__
Defina __str__ en su modelo para que la administración muestre una etiqueta legible en lugar de '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')Permisos
La administración respeta los permisos de los usuarios. Puede crear usuarios del personal con derechos limitados para que no todos tengan acceso completo de superusuario.
# Staff users (is_staff=True) can access the admin
# Permissions control which models they can edit
print('Permissions limit admin access')Comprobación rápida
Ponga a prueba sus conocimientos sobre la administración.
Resumen
Ha utilizado la administración de Django para gestionar datos.
- La administración está integrada y se encuentra en
/admin/ - Cree una cuenta con
createsuperuser - Registre modelos en
admin.pypara obtener pantallas CRUD ModelAdminpersonaliza las columnas, la búsqueda y los filtros- Defina
__str__para obtener etiquetas legibles; los permisos limitan el acceso
Preguntas frecuentes
¿La lección «El administrador de Django» es gratis?
Sí — el texto completo de «El administrador de Django» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.
¿Qué aprenderé en «El administrador de Django»?
Gestione datos con el sitio de administración Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Python Academy?
No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «El administrador de Django»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Python Academy?
Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Proyectos y aplicaciones
- Modelos y migraciones
- Vistas y URL
- El administrador de Django