mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	Fixed #15368 - test failures due to regression with RequestContext
Thanks to cyberdelia for the reports on this. git-svn-id: http://code.djangoproject.com/svn/django/trunk@15660 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
		| @@ -14,14 +14,21 @@ class ContextPopException(Exception): | ||||
|     "pop() has been called more times than push()" | ||||
|     pass | ||||
|  | ||||
| class EmptyClass(object): | ||||
|     # No-op class which takes no args to its __init__ method, to help implement | ||||
|     # __copy__ | ||||
|     pass | ||||
|  | ||||
| class BaseContext(object): | ||||
|     def __init__(self, dict_=None): | ||||
|         dict_ = dict_ or {} | ||||
|         self.dicts = [dict_] | ||||
|  | ||||
|     def __copy__(self): | ||||
|         duplicate = self._new() | ||||
|         duplicate.dicts = [dict_ for dict_ in self.dicts] | ||||
|         duplicate = EmptyClass() | ||||
|         duplicate.__class__ = self.__class__ | ||||
|         duplicate.__dict__ = self.__dict__.copy() | ||||
|         duplicate.dicts = duplicate.dicts[:] | ||||
|         return duplicate | ||||
|  | ||||
|     def __repr__(self): | ||||
| @@ -31,9 +38,6 @@ class BaseContext(object): | ||||
|         for d in reversed(self.dicts): | ||||
|             yield d | ||||
|  | ||||
|     def _new(self): | ||||
|         return self.__class__() | ||||
|  | ||||
|     def push(self): | ||||
|         d = {} | ||||
|         self.dicts.append(d) | ||||
| @@ -88,11 +92,6 @@ class Context(BaseContext): | ||||
|         duplicate.render_context = copy(self.render_context) | ||||
|         return duplicate | ||||
|  | ||||
|     def _new(self): | ||||
|         return self.__class__(autoescape=self.autoescape, | ||||
|                               current_app=self.current_app, | ||||
|                               use_l10n=self.use_l10n) | ||||
|  | ||||
|     def update(self, other_dict): | ||||
|         "Pushes other_dict to the stack of dictionaries in the Context" | ||||
|         if not hasattr(other_dict, '__getitem__'): | ||||
| @@ -168,8 +167,3 @@ class RequestContext(Context): | ||||
|             processors = tuple(processors) | ||||
|         for processor in get_standard_processors() + processors: | ||||
|             self.update(processor(request)) | ||||
|  | ||||
|     def _new(self): | ||||
|         return self.__class__(request=HttpRequest(), | ||||
|                               current_app=self.current_app, | ||||
|                               use_l10n=self.use_l10n) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user