#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 django-updates+unsubscr...@googlegroups.com.
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