メッセージフレームワークを使用する
環境
メッセージフレームワークの使い方
参考: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 %}