Added Django template backend.
This commit is contained in:
parent
44de7218a5
commit
1eca0e95cf
|
@ -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
|
||||
|
|
|
@ -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)
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue