summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlton Gibson <carlton.gibson@noumenal.es>2018-02-28 16:12:50 +0100
committerTim Graham <timograham@gmail.com>2018-03-01 11:45:08 -0500
commit94a180402c9e52bca2e911b6427c88f436e95449 (patch)
treec8b9743b7e35adc60e5a845ffc8ef514eed18037
parent4c02e3cda364a8455872a9ec9b3417c10a5c66b7 (diff)
Refs #27728 -- Fixed thread safety of admin template tags.
Regression in 5cc28dc752c3ae78456bb835c3ba195489fc26d7.
-rw-r--r--django/contrib/admin/templatetags/base.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/django/contrib/admin/templatetags/base.py b/django/contrib/admin/templatetags/base.py
index 2d261c0e88..ec6f10378d 100644
--- a/django/contrib/admin/templatetags/base.py
+++ b/django/contrib/admin/templatetags/base.py
@@ -23,10 +23,11 @@ class InclusionAdminNode(InclusionNode):
opts = context['opts']
app_label = opts.app_label.lower()
object_name = opts.object_name.lower()
- self.filename = [
+ # Load template for this render call. (Setting self.filename isn't
+ # thread-safe.)
+ context.render_context[self] = context.template.engine.select_template([
'admin/%s/%s/%s' % (app_label, object_name, self.template_name),
'admin/%s/%s' % (app_label, self.template_name),
'admin/%s' % (self.template_name,),
- ]
-
+ ])
return super().render(context)