Kaydet (Commit) 31d3a355 authored tarafından Aymeric Augustin's avatar Aymeric Augustin

Fixed #24273 -- Allowed copying RequestContext more than once.

Thanks Collin Anderson for the report.
üst de62b8ef
...@@ -232,5 +232,6 @@ class RequestContext(Context): ...@@ -232,5 +232,6 @@ class RequestContext(Context):
new_context = super(RequestContext, self).new(values) new_context = super(RequestContext, self).new(values)
# This is for backwards-compatibility: RequestContexts created via # This is for backwards-compatibility: RequestContexts created via
# Context.new don't include values from context processors. # Context.new don't include values from context processors.
del new_context._processors_index if hasattr(new_context, '_processors_index'):
del new_context._processors_index
return new_context return new_context
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
from unittest import TestCase from unittest import TestCase
from django.template import Context, Variable, VariableDoesNotExist from django.http import HttpRequest
from django.template import Context, RequestContext, Variable, VariableDoesNotExist
from django.template.context import RenderContext from django.template.context import RenderContext
...@@ -83,3 +84,7 @@ class ContextTests(TestCase): ...@@ -83,3 +84,7 @@ class ContextTests(TestCase):
# make contexts equals again # make contexts equals again
b.update({'a': 1}) b.update({'a': 1})
self.assertEqual(a, b) self.assertEqual(a, b)
def test_copy_request_context_twice(self):
# Regression test for #24273 - this doesn't raise an exception
RequestContext(HttpRequest()).new().new()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment