メッセージフレームワークを使用する
環境
メッセージフレームワークの使い方
参考:https://docs.djangoproject.com/ja/2.2/ref/contrib/messages/
メッセージを有効にする
django-admin startproject によって生成されたデフォルトの settings.py は、メッセージ機能を有効にするために必要な設定を全て含んでいます
普通はdjango-admin startprojectコマンドを実行してプロジェクトを始めるので、メッセージフレームワークに関して特段settings.pyで変更する項目はない。
メッセージ概要
使い方のイメージは、views.pyにてmessagesを挿入し、テンプレートでmessagesを読み込むことでメッセージを表示することができる。またメッセージだけでは、雰囲気が出ないのでBootstrap4のAlertsを使うとそれっぽくなる。
メッセージフレームワークの使い方
views.pyにdjango.contrib.messagesを挿入して使うので以下ののような感じになる。
from django.shortcuts import render from django.views.generic import View from django.contrib import messages class TestMessageView(View): def get: messages.info(request, 'これはテストです') return render(request, "test_messages.html")
またtemplateではmessagesからmessageを取り出して使うので以下のようになる。
{% if messages %} {% for message in messages %} {{ message }} {% endfor %} {% endif %}
Bootstrap4を使ったテンプレートサンプル
Bootstrap4のAlertsを利用する。https://getbootstrap.com/docs/4.4/components/alerts/#examples
<-- base.htmlにはBootstrap4のスターターテンプレートが記載されている --> {% extends 'config/base.html' %} {% block content %} <div class="container"> <div class="row"> <div class="col"> {% if messages %} {% for message in messages %} <div class="alert alert-info" role="alert" > <p >{{ message }}</p > </div > {% endfor %} {% endif %} </div> </div> </div> {% endblock %}