Table of Contents
- Panel de Administrador
- Activo por defecto
- Crear SuperUsuario, con perfíl de administrador
- Explorando la BD
- Administrar tablas desde el Panel
- Configurar campo 'email' como opcional, clase Cliente
- Personalización del Panel
- Modificar nombre visible de tablas
- Ver otros campos de tablas a modificar en panel
- Agregar campo de busqueda
- Agregar Filtros
- Cambiar Idioma
- Agregar usuarios, perfiles
- Agregar grupos
Ir a: Repositorio, Proyecto y apps (bd), Formularios
Panel de Administrador
Activo por defecto
settings.py
...
INSTALLED_APPS = [
'django.contrib.admin',
...
urls.py
...
urlpatterns = [
path('admin/', admin.site.urls),
...
Crear SuperUsuario, con perfíl de administrador
python3 manage.py createsuperuser
Username (leave blank to use 'sat'): Roberrrt
Email address: admin@gitea.com
Password:
Password (again):
Superuser created successfully.
Explorando la BD
tabla auth_user
id | password | last_login | is_superuser | username | first_name | last_name | is_staff | is_active | date_joined | |
---|---|---|---|---|---|---|---|---|---|---|
1 | pbkdf2_sha256$216000$zw4Zuc6weyCN$Vwn8SM6zPA3hIofcmQiz4mIuU6tL7U/vvWs= | 2020-11-13 02:40:20 | true | Roberrrt | admin@gitea.com | true | true | 2020-11-13 02:38:41 | ||
2 | pbkdf2_sha256$216000$188Gs3iRpsWb$X49lPG/2IlRlsaanXqUBZ6YOMIvctZ+U0Gg= | false | Roberrrt2 | false | true | 2020-11-13 02:41:43 |
Administrar tablas desde el Panel
admin.py
from django.contrib import admin
from gestionPedidos.models import Clientes
admin.site.register(Clientes)
Configurar campo 'email' como opcional, clase Cliente
models.py
...
class Clientes(models.Model):
...
email = models.EmailField(blank=True, null=True)
...
cambios en el modelo, requieren migración
python3 manage.py makemigrations
python3 manage.py migrate
Personalización del Panel
Admin. Clientes Django por defecto presenta los nombres de los campos capitalizados y elimina el texto posterior a '_' ( ej. modelo nombre_clientes ).
Columnas en el Panel de admin.
Add clientes
Nombre:
Direccion:
Email:
Fono:
Modificar nombre visible de tablas
Personalizar nombre a mostrar en panel, en el Modelo. models.py
class Clientes(models.Model):
...
direccion = models.CharField(max_length=50, verbose_name="La Direcc.:")
...
Vista Panel
Add clientes
Nombre:
La Direcc.:
Email:
Fono:
Ver otros campos de tablas a modificar en panel
gestionPedidos/admin.py
from django.contrib import admin
from gestionPedidos.models import Clientes, Articulos, Pedidos
class ClientesAdm(admin.ModelAdmin):
list_display("nombre", "direccion", "fono")
admin.site.register(Clientes, ClientesAdmin)
vista en Panel
Nombre | La Direcc. | Fono |
---|---|---|
Elejendre | calle 16 | 2445234234 |
Zerafín | dnd vive | 123456789 |
Pedro | ruta 2 | 9873456789 |
Agregar campo de busqueda
gestionPedidos/admin.py
class ClientesAdmin(admin.ModelAdmin):
list_display = ("nombre", "direccion", "fono")
# Campos de busqueda en la barra
search_fields = ("nombre","fono")
Agregar Filtros
admin.py
class ArticulosAdmin(admin.ModelAdmin):
list_filter = ("seccion",)
vista filtro en panel
Filter by Secion |
---|
All |
deco |
deporte |
ferreteria |
jugetes |
vestuario |
Tambien se puede filtar por fecha
admin.py
class PedidosAdmin(admin.ModelAdmin):
list_display = ("numero", "fecha")
list_filter = ("fecha",)
admin.site.register(Pedidos, PedidosAdmin)
vista filtro en panel
Filter by Fecha |
---|
Any date |
Today |
Past 7 days |
This month |
This Year |
Filtro de disposicion horizontal, estilo menú
admin.py
class PedidosAdmin(admin.ModelAdmin):
list_display = ("numero", "fecha")
list_filter = ("fecha",)
# Filtro-barra*
date_hierarchy = "fecha"
Vista del Panel de Administrador
Cambiar Idioma
settings.py
#LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'es-CL'
Agregar usuarios, perfiles
- Usuario STAFF, puede administrar el sitio desde el panel, se puede limitar.
- Usuario ACTIVO, puede entrar en partes del sitio que requieran autenticación.
Agregar grupos
Permite crear Grupos, con permisos específicos.
Se pueden agregar permisos extra por usuario.