[PATCH 02/15] compat: Wrap 'render_to_string'

Stephen Finucane stephen.finucane at intel.com
Fri Mar 25 04:52:47 AEDT 2016


The 'dictionary' and 'context_instance' parameters for the
'render_to_string' function produce 'RemovedInDjango110' warnings
in Django 1.9 and will be removed in Django 1.10. However, these
parameters are still valid for Django < 1.8. Provide a shim to
allow use of the Django>=1.8-style parameters, while retaining
backwards compatibility with Django < 1.8.

Signed-off-by: Stephen Finucane <stephen.finucane at intel.com>
---
 patchwork/compat.py | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
 create mode 100644 patchwork/compat.py

diff --git a/patchwork/compat.py b/patchwork/compat.py
new file mode 100644
index 0000000..c8bade6
--- /dev/null
+++ b/patchwork/compat.py
@@ -0,0 +1,40 @@
+# Patchwork - automated patch tracking system
+# Copyright (C) 2016 Intel Corporation
+#
+# This file is part of the Patchwork package.
+#
+# Patchwork is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# Patchwork is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Patchwork; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+"""Compatibility wrappers for various Django versions."""
+
+import django
+
+
+# render_to_string
+#
+# The render_to_string function no longer accepts the dictionary and
+# context_instance parameters in Django 1.10.
+#
+# https://docs.djangoproject.com/en/dev/releases/1.8/
+
+if django.VERSION >= (1, 8):
+    from django.template.loader import render_to_string
+else:
+    from django.template import loader, RequestContext
+
+    def render_to_string(template_name, context=None, request=None):
+        context_instance = RequestContext(request) if request else None
+        return loader.render_to_string(template_name, context,
+                                       context_instance)
-- 
2.0.0



More information about the Patchwork mailing list