#31605 closed Bug (needsinfo)
messages shortcuts will not process with whitespace.
Reported by: | Rory Patrick Sheridan | Owned by: | nobody |
---|---|---|---|
Component: | contrib.messages | Version: | 3.0 |
Severity: | Normal | Keywords: | messages, shortcuts, cookies, success, error, bug, message |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | yes | UI/UX: | no |
Description (last modified by )
When using:
messages.success(request, 'str')
or other shortcuts, messages that contain any whitespace do not show. A message that is a single string of characters with no whitespace such as "thisisanexample" will display, however "this is an example" or even " " will not be displayed on the page.
The cookie data is processed by the backend, as it can be seen in the cookies, but it is never read when parsing the page templates.
{% if messages %} returns False, so it isn't being read at all.
The exact same code but with no whitespace results in functionality.
I have tested it on Chrome and Chrome Android and it is the same on both devices, same version, Stable Chrome builds.
I have tested it using tutorial code as well.
I have reproduced it using django 2.2.12.
I haven't tested other methods of displaying messages outside of shortcuts.
my relevant code:
def post_add(request): next = request.GET.get('next', '') if request.method == 'POST': form = PostForm(request.POST) if form.is_valid(): form.save() messages.success(request, 'This is an example') return HttpResponseRedirect(next) else: form = PostForm() return HttpResponseRedirect(next)
Cookie data examples here:
"44cb14ea2f1cade16b5dad1524386ff0ef096317$[[\"__json_message\"\0540\05440\054\"This is an example\"]]" "2c19fe90a788435e86265a97348ae12eac4780d8$[[\"__json_message\"\0540\05425\054\"This is an example\"]]"
Attachments (3)
Change History (9)
by , 4 years ago
Attachment: | Screenshot 2020-05-19 at 02.59.53.2.png added |
---|
comment:1 by , 4 years ago
Description: | modified (diff) |
---|
comment:2 by , 4 years ago
Description: | modified (diff) |
---|
comment:3 by , 4 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Summary: | messages shortcuts will not process with whitespace → messages shortcuts will not process with whitespace. |
messages
works for me, you probably missed adding django.contrib.messages.context_processors.messages
to the context_processors
option of the DjangoTemplates
backend defined in your TEMPLATES
setting. Please use one of support channels if you have further questions.
Closing per TicketClosingReasons/UseSupportChannels.
follow-up: 5 comment:4 by , 4 years ago
Resolution: | invalid |
---|---|
Status: | closed → new |
That is in context processors, it is added by default.
Also, take not of the screenshots. Messages works just fine when there is no whitespace with the exact same code. Why would that happen if it was missing from context processors? Messages are firing, but ony when there is no whitespace.
Did you even read what was written or looked at the attached files? I have screenshots showing that when there is whitespace it shows in cookies, but is not parsed by the page as messages, contrasted with no whitespace and messages showing up. The code is fully functional for messages when they lack whitespace.
I have also tested using tutorials with other people's code, other projects and code examples from the django website, as well as other versions of django and deployment to different platforms (as I have already stated). I have now also tested other people's projects on both firefox and chrome on desktop with the same results. There is irregular behaviour here that needs to be examined.
by , 4 years ago
Attachment: | Screenshot 2020-05-19 at 02.59.53.png added |
---|
Shows that message fire without whitespace only
follow-up: 6 comment:5 by , 4 years ago
Resolution: | → needsinfo |
---|---|
Status: | new → closed |
Did you even read what was written or looked at the attached files?
Yes. Please be kinder.
I have screenshots showing that when there is whitespace it shows in cookies, but is not parsed by the page as messages, contrasted with no whitespace and messages showing up. The code is fully functional for messages when they lack whitespace.
Screenshots do not prove that there is an issue in Django. As I said, messages
works properly for me, with and without whitespaces. Please don't reopen this ticket without providing a small sample project to reproduce your issue.
comment:6 by , 4 years ago
Replying to felixxm:
Yes. Please be kinder.
Fair enough, I can be kinder, but please be more thorough and clear. Your initial response was fairly flippant and frankly bad practice for dealing with bugs.
Suggesting I'm missing something that is required to display messages (and run a project with the admin panel, no less) when I have provided a screenshot of messages being displayed isn't exactly going to convince me that you paid any attention at all.
Screenshots do not prove that there is an issue in Django. As I said,
messages
works properly for me, with and without whitespaces. Please don't reopen this ticket without providing a small sample project to reproduce your issue.
No, it doesn't prove there's an issue, but it certainly does prove more than "Oh it's implemented incorrectly". Everything "works for me" until it encounters a circumstance in which it doesn't and then should be examined. "Needsinfo" is more appropriate.
However, I'm not really in a position to share the project. I'll see if I can get some other sample in the meantime.
Shows that the message fires if there is no whitespace in the string