4
Turns out this was a template inheritance issue. Double check and make sure you don’t have the same block in two different templates.
2
While this answer is for a different question, I was having this issue and it helped me resolve it.
To summarize, the following code can be added to settings.py:
MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage'
This changes the messages from being stored in CookiesStorage to SessionStorage, which in some cases are more reliable and prevent double displaying of messages, or not displaying at all.
Source:stackexchange.com