Technical 404 debug page doesn't display Http404's message in Django 3.2.
|Patch needs improvement:
Hello! I'm currently upgrading a project from Django 2.2 to 3.2 (a bit sloppily, as I'm not incrementally upgrading to intermediate versions). I noticed that a few of my tests rely on the following behavior specified in the documentation for the Http404 exception:
When DEBUG is True, you can provide a message to Http404 and it will appear in the standard 404 debug template. Use these messages for debugging purposes; they generally aren’t suitable for use in a production 404 template.
I was able to test whether the message I passed was visible on the debug 404 page for the view (to make sure the page was 404'ing for the right reason). However, these tests have broken when upgrading to Django 3.2. Looking at the actual response content, it doesn't seem as though the actual message is visible anywhere on the page.
I'm currently just going to comment out the explicit test for finding the exception message, but I was curious if anyone else has found this kind of error as well, or if it's just me. If needed, I can try creating a simple test case that reproduces this error (though I'll admit the problem could be entirely on my end too).
Change History (6)
comment:1 by , 3 years ago
|Uncategorized → Error reporting
|Normal → Release blocker
|Http404 exception messages might not be propagating to 404 debug templates in Django 3.2 → Technical 404 debug page doesn't display Http404's message in Django 3.2.
|Unreviewed → Accepted