mirror of https://github.com/django/django.git
[1.8.x] Fixed #24273 -- Allowed copying RequestContext more than once.
Thanks Collin Anderson for the report.
Backport of 31d3a355
from master
This commit is contained in:
parent
f5749252ea
commit
5fbec369aa
|
@ -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 @@
|
||||||
|
|
||||||
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):
|
||||||
# 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()
|
||||||
|
|
Loading…
Reference in New Issue