mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Deprecated passing a Context to a generic Template.render.
A deprecation path is required because the return type of django.template.loader.get_template changed during the multiple template engines refactor. test_csrf_token_in_404 was incorrect: it tested the case when the hardcoded template was rendered, and that template doesn't depend on the CSRF token. This commit makes it test the case when a custom template is rendered.
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
from django.template import RequestContext
|
||||
from django.template.backends.django import DjangoTemplates
|
||||
from django.test import RequestFactory
|
||||
from django.test import ignore_warnings, RequestFactory
|
||||
from django.utils.deprecation import RemovedInDjango20Warning
|
||||
|
||||
from template_tests.test_response import test_processor_name
|
||||
|
||||
@@ -32,3 +34,20 @@ class DjangoTemplatesTests(TemplateStringsTests):
|
||||
# Check that context overrides context processors
|
||||
content = template.render({'processors': 'no'}, request)
|
||||
self.assertEqual(content, 'no')
|
||||
|
||||
@ignore_warnings(category=RemovedInDjango20Warning)
|
||||
def test_request_context_conflicts_with_request(self):
|
||||
template = self.engine.from_string('hello')
|
||||
|
||||
request = RequestFactory().get('/')
|
||||
request_context = RequestContext(request)
|
||||
# This doesn't raise an exception.
|
||||
template.render(request_context, request)
|
||||
|
||||
other_request = RequestFactory().get('/')
|
||||
msg = ("render() was called with a RequestContext and a request "
|
||||
"argument which refer to different requests. Make sure "
|
||||
"that the context argument is a dict or at least that "
|
||||
"the two arguments refer to the same request.")
|
||||
with self.assertRaisesMessage(ValueError, msg):
|
||||
template.render(request_context, other_request)
|
||||
|
||||
Reference in New Issue
Block a user