Django: bootstrap3 template messages
9 Novembre 2016
Per la gestione dei messaggi con django e bootstrap3,
aggiungere al file myapp/templatetags/app_filters.py
# noinspection PyUnresolvedReferences from django import template register = template.Library() @register.assignment_tag def get_bootstrap_alert_msg_css_name(tags): return 'danger' if tags == 'error' else tags
e nella template myapp/templates/base.html dalla quale ereditano tutte le altre:
{% load staticfiles %} {# Load the tag library #} {% load bootstrap3 %} {# Load CSS and JavaScript #} {% bootstrap_css %} {% bootstrap_javascript %} {% load app_filters %} ... <html> <head> <title>{% block title %}Myapp{% endblock %}</title> </head> <body> {% if messages %} <ul class="list-unstyled messages"> {% for message in messages %} {% get_bootstrap_alert_msg_css_name message.tags as alert_tag %} <li class="alert alert-{{ alert_tag }}">{{ message }}</li> {% endfor %} </ul> {% endif %} <div class="content container"> <div class="row"> <div class="col-md-8"> {% block content %} {% endblock %} </div> </div> <br> </div> </body> </html>
All’interno di views.py:
from django.contrib import messages
def a_view(request): ... messages.warning(request, "warning message") messages.info(request, "info message") messages.error(request, "error message") messages.success(request, "success message") ...
Commenti recenti