2012年12月17日月曜日

Djangoで、フラッシュメッセージの表示

Django(1.4.2)で、フラッシュメッセージの表示です。メッセージをたった一行表示するのに、時間がかかりすぎました(笑)。簡単なことなのですが、慣れないことをするには、エネルギーを使います。こんなところで躓いていると、先が遠のくのですが。。。

実際に設定してみたサイトがこちら

views.py
from django.contrib import messages

messages.success(request, 'ログインに成功しました。')
return HttpResponseRedirect('/') 

messages.error(request, 'ログインに失敗しました。')
return HttpResponseRedirect('/') 
template.html
{% if messages %}
    {% for message in messages %}
        {% if message.tags == 'success' %}
        <div class="alert-box success">{{ message }}</div>
        {% endif %}
        {% if message.tags == 'error' %}
        <div class="alert-box alert">{{ message }}</div>
        {% endif %}
        {% if message.tags == 'warning' %}
        <div class="alert-box secondary">{{ message }}</div>
        {% endif %}
        {% if message.tags == 'info' %}
        <div class="alert-box">{{ message }}</div>
        {% endif %}
    {% endfor %}
{% endif %}

参考サイト
DjangoでrailsのFlashメッセージと同じことをしたい(brainstorさん)
The messages framework(Django)

0 件のコメント:

コメントを投稿