Aplicación reutilizable para anuncios de todo el sitio de django que muestra un mensaje solo una vez por usuario

Quiero mostrar varios mensajes a usuarios registrados solo una vez en mi aplicación django. Encontré anuncios de django que parecían hacer lo que quiero, pero al probarlos, marca los mensajes como leídos usando una variable de sesión, que desaparece si el usuario cierra la sesión. Esto significa que un mensaje se muestra de nuevo a un usuario si lo descartan al iniciar sesión, cerrar sesión y luego volver a iniciar sesión.

Me pregunté si alguien sabe de una aplicación que pueda usar aquí sin reinventar la rueda.

Echa un vistazo a django-notification . Lo usa pinax, parece que funciona como lo que estás buscando. Al menos guarda el estado en la db.

editar

Respuesta al comentario.

de los documentos :

notification.send([to_user], "friends_invite", {"from_user": from_user}) 

así que esto debería funcionar:

 notification.send(Users.objects.all(), "friends_invite", {"from_user": from_user}) 

y si un queryset no es correcto:

 notification.send([u for u in Users.objects.all()], "friends_invite", {"from_user": from_user}) 

¿Has mirado el marco de mensajes en Django 1.3? En Django <= 1.2 era un modelo simple para que pudieras hacer:

 for user in User.objects.all(): user.message_set.create(message="some text") 

y esto se representaría en la plantilla y se descartaría tan pronto como se cargue la página siguiente (es lo que utiliza el administrador de Django). Ha cambiado un poco en 1.3, pero puede ser útil, pero no ‘descartable’ en la forma en que quizás desee.