Added Django template backend.

This commit is contained in:
Aymeric Augustin 2014-11-29 00:05:56 +01:00
parent 44de7218a5
commit 1eca0e95cf
5 changed files with 53 additions and 0 deletions

View File

@ -1,3 +1,6 @@
# Since this package contains a "django" module, this is required on Python 2.
from __future__ import absolute_import
from django.core.exceptions import (
ImproperlyConfigured, SuspiciousFileOperation)
from django.template.utils import get_app_template_dirs

View File

@ -0,0 +1,41 @@
# Since this package contains a "django" module, this is required on Python 2.
from __future__ import absolute_import
from django.conf import settings
from django.template.context import Context, RequestContext
from django.template.engine import Engine
from .base import BaseEngine
class DjangoTemplates(BaseEngine):
app_dirname = 'templates'
def __init__(self, params):
params = params.copy()
options = params.pop('OPTIONS').copy()
options.setdefault('debug', settings.TEMPLATE_DEBUG)
options.setdefault('file_charset', settings.FILE_CHARSET)
super(DjangoTemplates, self).__init__(params)
self.engine = Engine(self.dirs, self.app_dirs, **options)
def from_string(self, template_code):
return Template(self.engine.from_string(template_code))
def get_template(self, template_name):
return Template(self.engine.get_template(template_name))
class Template(object):
def __init__(self, template):
self.template = template
def render(self, context=None, request=None):
if request is None:
context = Context(context)
else:
context = RequestContext(request, context)
return self.template.render(context)

View File

@ -1,3 +1,6 @@
# Since this package contains a "django" module, this is required on Python 2.
from __future__ import absolute_import
import io
import string

View File

@ -1,3 +1,6 @@
# Since this package contains a "django" module, this is required on Python 2.
from __future__ import absolute_import
import sys
from django.conf import settings

View File

@ -1,3 +1,6 @@
# Since this package contains a "django" module, this is required on Python 2.
from __future__ import absolute_import
from django.middleware.csrf import get_token
from django.utils.functional import lazy
from django.utils.html import format_html