#34923: MESSAGE_TAGS ignored in 5.0a1
-----------------------------------------+------------------------
               Reporter:  James Gillard  |          Owner:  nobody
                   Type:  Bug            |         Status:  new
              Component:  Uncategorized  |        Version:  5.0
               Severity:  Normal         |       Keywords:
           Triage Stage:  Unreviewed     |      Has patch:  0
    Needs documentation:  0              |    Needs tests:  0
Patch needs improvement:  0              |  Easy pickings:  0
                  UI/UX:  0              |
-----------------------------------------+------------------------
 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'
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/34923>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/0107018b5d972198-b482e4bc-173f-4ed9-839e-d46aafd33a16-000000%40eu-central-1.amazonses.com.

Reply via email to