0

I'm using Django with Wagtail CMS. I'm trying to give the user a message on registering an account and when you cancel the account. At this moment this both work, but only when when I have the settings DEBUG = True, if I set DEBUG to false (as it has to be in production) the messages no longer come up.

My Django settings:

INSTALLED_APPS = [
    'home',
    'search',
    'user',
    'blog',
    'rss',
    'rosetta',
    #'wagtailorderable',
    'wagtail.contrib.forms',
    'wagtail.contrib.redirects',
    'wagtail.contrib.styleguide',
    'wagtail.embeds',
    'wagtail.sites',
    'wagtail.users',
    'wagtail.snippets',
    'wagtail.documents',
    'wagtail.images',
    'wagtail.search',
    'wagtail.admin',
    'wagtail',
    #'wagtail.images.panels',
    'wagtailfontawesome',
    'wagtail_color_panel',

    'modelcluster',
    'taggit',

    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.facebook',

    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.flatpages',
    'django.contrib.sites',
    "django.contrib.sitemaps",

    'wagtail.contrib.modeladmin',  # Don't repeat if it's there already
    'sorl.thumbnail',
]

MIDDLEWARE = [
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'wagtail.contrib.redirects.middleware.RedirectMiddleware',
]

DEBUG = True

Here is how I call the message when the user registers, I'm using a signal from allauth:

from django.utils.translation import gettext_lazy as _
from django.dispatch import receiver
from django.contrib import messages
from allauth.account.signals import user_signed_up

class User(AbstractUser):
    class Meta:
        db_table = 'auth_user'

@receiver(user_signed_up)
def user_signed_up_callback(sender, request, user, **kwargs):
    return messages.success(request, _('Thank you for creating an account'))

I have already tried several fixes found online including:

  • changing MESSAGE_LEVEL to an integer, and to different levels of message (info, success, etc.)

  • changing MESSAGE_STORAGE to cookies or sessions storage

But the problem remains that the message comes ONLY when DEBUG = True

Fefe
  • 13
  • 3

0 Answers0