浏览代码

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

Jon Dufresne 8 年之前
父节点
当前提交
348cfccd90
共有 3 个文件被更改,包括 10 次插入2 次删除
  1. 0 1
      django/views/debug.py
  2. 2 1
      docs/releases/1.9.9.txt
  3. 8 0
      tests/view_tests/tests/test_debug.py

+ 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):
         """