urls tutorial modelos metodos index girls facil empezar despliega desplegar con como django django-admin

modelos - tutorial django



¿Cómo mostrar un mensaje a un administrador de django después de guardar un modelo? (2)

Pregunta antigua, pero vale la pena al menos un pequeño ejemplo, ya que creo que este es un problema bastante común.

@Davor Lucic señaló la solución correcta. A partir de hoy, Django se envía con un marco de mensaje genial que ayuda mucho en esto.

Entonces, diga que desea notificar al administrador de Django cada vez que un objeto de automóvil dentro del propietario de su modelo de automóvil podría hacer algo como eso:

admin.py

from django.contrib import admin from django.contrib import messages from .models import Car @admin.register(Car) class CarAdmin(admin.ModelAdmin): list_display = (''owner'', ''color'', ''status'', ''max_speed'', ) def save_model(self, request, obj, form, change): if ''owner'' in form.changed_data: messages.add_message(request, messages.INFO, ''Car has been sold'') super(CarAdmin, self).save_model(request, obj, form, change)

Vale la pena mencionar que si desea incluir etiquetas HTML en su mensaje, debe agregar:

from django.utils.safestring import mark_safe

lo que te permite hacer algo como:

messages.add_message(request, messages.INFO, mark_safe("Please see <a href=''/destination''>here</a> for further details"))

No es necesario decir que es mejor que se asegure de que el código que está agregando sea REALMENTE seguro.

Nada excepcional, pero tal vez (y con suerte) a alguien le resulte útil.

Quiero mostrar un mensaje a los administradores después de que guarden un modelo en particular, algo así como "Ahora habilite la serie".

Puedo ver cómo lo haría si fuera una acción de lista (message_user) pero no puedo ver cómo hacerlo desde el formulario CRUD principal.

¿Alguien sabe cómo?

Gracias