messagesDjango 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.htmlfue 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
autoescapese 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.