Djangoのメッセージが追加されているかを判定する方法

djangoのメッセージフレームワークを使って、メッセージが追加されているかどうかを判定するには、「django.contrib.messages.api.get_messages」を使えば可能です。

例)

from django.contrib.messages import messages
from django.contrib.messages.api import get_messages
if get_messages(request):  # This condition is false.
    print("Exisit.")
else:
    print("None.")
add_messages(request, messages.INFO, "get_messages test.")
if get_messages(request):  # This condition is True
    print("Exisit.")
else:
    print("None.")

ただし、これは「contrib.messages.context_processors.messages」を見て判断しただけです。なので、このやり方で判定するのは正直微妙です。(まずないと思いますが)もし、今後のバージョンアップで、何か不都合が起きないとも限りません。明確な判定用メソッドが用意されていればいいですが、そうでない場合は独自にフラグを定義した方がいいのかもしれないです。

この記事が役に立った場合、シェアしていただけると励みになります!!