Vecchia domanda, ma vale almeno un piccolo esempio, perché penso che questo sia un problema abbastanza comune.
@Davor Lucic ha indicato la soluzione giusta. Ad oggi, Django offre un ottimo message framework che aiuta molto in questo.
Quindi, diciamo che si vuole dare comunicazione entro il Django Admin ogni volta che un oggetto auto all'interno del tuo modello di auto cambia proprietario, si potrebbe fare qualcosa di simile:
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 ricordare che, se si desidera includere tag HTML nel vostro messaggio, si deve aggiungere:
from django.utils.safestring import mark_safe
che permettono s di fare qualcosa di simile:
messages.add_message(request, messages.INFO, mark_safe("Please see <a href='/destination'>here</a> for further details"))
Non c'è bisogno di dire che è meglio essere che il codice si sta aggiungendo è davvero sicuro.
Niente di eccezionale, ma forse (e si spera) qualcuno lo troverà utile.
Ho ricevuto un messaggio quando un utente ha salvato una voce nell'amministratore (sfondo giallo in cima alla pagina), ma in qualche modo è scomparso. Come posso riaverlo? Ora ricevo un messaggio solo quando un utente ha fatto un errore – Timo