messages
Django nos provee una aplicación (sub-aplicación de Django propia) llamada messages
, por defecto viene activada en settings.py
:
1 2 3 4 5 |
|
messages
nos permite enviar mensajes desde nuestro back-end para mostrarlos en el front-end a nuestro gusto.
Por defecto viene configurada, pero vamos a agregarle amor con Boostrap.
En settings.py
nos vamos a la última línea y agregamos:
1 2 3 4 5 6 7 8 9 10 11 |
|
De esta forma podemos agregar clases Bootstrap para cada categoría de mensaje.
Para ver los mensajes que son enviados, tenemos que controlar como se mostraran en nuestro front-end, para ello crearemos un archivo html dentro de templates/
, yo lo llamo mensajes.html
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Ahora, en base.html
, hacemos un include
de mensajes.html
, yo lo pondré antes del bloque content
:
1 2 3 4 5 6 |
|
Nótese que
mensajes.html
fue creado en el mismo nivel de directorio quebase.html
.
Ahora, debemos importar la aplicación en nuestra vista:
1 |
|
Y ahora podemos usarlo.
En nuestra vista crear
dentro de tienda/views.py
, mostraremos un mensaje cuando el usuario haga el envió del formulario:
1 2 3 4 5 |
|
Si quitamos el tag
autoescape
se mostrara algo parecido aProducto <em>'hoyo de tarugo'<\/em> creado correctamente!
ya que Django por defecto sanetiza el front-end.
Y ahora, al subir el formulario, y al ser este validado, enviamos un mensaje al front-end.
Nótese que los mensajes entran en forma de queue, asi que, si envías un mensaje y este no se renderiza, quedara guardado hasta que Django pueda mostrarlo en el front-end.