Переглянути джерело

Fixed #26938 -- Fixed invalid HTML in template postmortem on the debug page.

Jon Dufresne 8 роки тому
батько
коміт
348cfccd90

+ 0 - 1
django/views/debug.py

@@ -726,7 +726,6 @@ TECHNICAL_500_TEMPLATE = ("""
                     {% for attempt in entry.tried %}
                         <li><code>{{ attempt.0.loader_name }}</code>: {{ attempt.0.name }} ({{ attempt.1 }})</li>
                     {% endfor %}
-                    </ul>
                 {% else %}
                     <li>This engine did not provide a list of tried templates.</li>
                 {% endif %}

+ 2 - 1
docs/releases/1.9.9.txt

@@ -9,4 +9,5 @@ Django 1.9.9 fixes several bugs in 1.9.8.
 Bugfixes
 ========
 
-* ...
+* Fixed invalid HTML in template postmortem on the debug page
+  (:ticket:`26938`).

+ 8 - 0
tests/view_tests/tests/test_debug.py

@@ -169,6 +169,14 @@ class DebugViewTests(LoggingCaptureMixin, SimpleTestCase):
             }]):
                 response = self.client.get(reverse('raises_template_does_not_exist', kwargs={"path": template_name}))
             self.assertContains(response, "%s (Source does not exist)" % template_path, status_code=500, count=2)
+            # Assert as HTML.
+            self.assertContains(
+                response,
+                '<li><code>django.template.loaders.filesystem.Loader</code>: '
+                '%s (Source does not exist)</li>' % os.path.join(tempdir, 'notfound.html'),
+                status_code=500,
+                html=True,
+            )
 
     def test_no_template_source_loaders(self):
         """