mirror of
https://github.com/django/django.git
synced 2025-08-03 10:34:04 +00:00
Fixed #27258 -- Prohibited django.Template.render() with non-dict context.
Thanks Shivang Bharadwaj for the initial patch.
This commit is contained in:
parent
4e89082f31
commit
6a74950513
4 changed files with 33 additions and 3 deletions
|
@ -1,6 +1,6 @@
|
|||
from template_tests.test_response import test_processor_name
|
||||
|
||||
from django.template import EngineHandler
|
||||
from django.template import Context, EngineHandler, RequestContext
|
||||
from django.template.backends.django import DjangoTemplates
|
||||
from django.template.library import InvalidTemplateLibrary
|
||||
from django.test import RequestFactory, override_settings
|
||||
|
@ -35,6 +35,24 @@ class DjangoTemplatesTests(TemplateStringsTests):
|
|||
content = template.render({'processors': 'no'}, request)
|
||||
self.assertEqual(content, 'no')
|
||||
|
||||
def test_render_requires_dict(self):
|
||||
"""django.Template.render() requires a dict."""
|
||||
engine = DjangoTemplates({
|
||||
'DIRS': [],
|
||||
'APP_DIRS': False,
|
||||
'NAME': 'django',
|
||||
'OPTIONS': {},
|
||||
})
|
||||
template = engine.from_string('')
|
||||
context = Context()
|
||||
request_context = RequestContext(RequestFactory().get('/'), {})
|
||||
msg = 'context must be a dict rather than Context.'
|
||||
with self.assertRaisesMessage(TypeError, msg):
|
||||
template.render(context)
|
||||
msg = 'context must be a dict rather than RequestContext.'
|
||||
with self.assertRaisesMessage(TypeError, msg):
|
||||
template.render(request_context)
|
||||
|
||||
@override_settings(INSTALLED_APPS=['template_backends.apps.good'])
|
||||
def test_templatetag_discovery(self):
|
||||
engine = DjangoTemplates({
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue