""" Content types in FeinCMS 1.x returned a HTML fragment from ``render()`` methods. FeinCMS 22.x changed them to return a ``(template_name, context)`` tuple. This allows rendering content type templates while also having access to all template variables set in views and context processors without having to explicitly pass them on or something. Some old projects still rely on ``render()`` returning a HTML string. This tuple subclass combines the advantages of both approaches: Newer projects see a tuple, old projects still get a string. """ from django.template.loader import render_to_string class AutoRenderTuple(tuple): def __str__(self): return render_to_string(self[0], self[1])