﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
34923	MESSAGE_TAGS ignored in 5.0a1	James Gillard	Mariusz Felisiak	"I've been running 5.0a1 off and on with our project to spot issues and have come across my first.

As stated in the title, MESSAGE_TAGS in settings.py is now having no effect for me. I noticed this when the extra classes we define inside settings.py disappeared from the rendered HTML of a message. I tried having a play around with the django test suite to recreate, but I didn't achieve that, so the proof I have is from adding a debug line inside `django.contrib.messages.utils.get_level_tags`. I stopped at this point, as someone might be able to point out something obvious I've missed that's leading to this.

Here's the debug `print` I've added:

{{{
def get_level_tags():
    """"""
    Return the message level tags.
    """"""
    print(getattr(settings, ""MESSAGE_TAGS"", {}))
    return {
        **constants.DEFAULT_TAGS,
        **getattr(settings, ""MESSAGE_TAGS"", {}),
    }
}}}

Here is what we have inside settings.py:
{{{
MESSAGE_TAGS = {
    messages.DEBUG: 'debug alert-info is-info',
    messages.INFO: 'info alert-info is-info',
    messages.SUCCESS: 'success alert-success is-success',
    messages.WARNING: 'warning alert-warning is-warning',
    messages.ERROR: 'error alert-danger is-danger',
}
}}}

And here's what I'm seeing when going from 4.2.5 to 5.0a1, and also testing latest main; lines removed for brevity:

{{{
✗ pip install Django==4.2.5
✗ ./manage.py runserver
{10: 'debug alert-info is-info', 20: 'info alert-info is-info', 25: 'success alert-success is-success', 30: 'warning alert-warning is-warning', 40: 'error alert-danger is-danger'}
{10: 'debug alert-info is-info', 20: 'info alert-info is-info', 25: 'success alert-success is-success', 30: 'warning alert-warning is-warning', 40: 'error alert-danger is-danger'}
Django version 4.2.5, using settings 'journee.settings'
                                                                                                                                                                                                                                                     
✗ pip install Django==5.0a1
✗ ./manage.py runserver
{}
{}
Django version 5.0a1, using settings 'journee.settings'

✗ pip install git+https://github.com/django/django.git
✗ ./manage.py runserver
{}
{}
Django version 5.1.dev20231023125957, using settings 'journee.settings'
}}}"	Bug	closed	contrib.messages	5.0	Release blocker	fixed		François Freitag	Ready for checkin	1	0	0	0	0	0
