コード例 #1
0
 def test_render_template_without_request(self):
     """
     Render a template
     """
     loader = JsLoader(engine=None)
     template_path = loader.load_template('test-component.js', template_dirs=[settings.TEMPLATE_DIR])[0]
     template = JsTemplate(template_path)
     result = template.render({})
     expected = '<span>Test component</span>'
     self.assertEqual(result, expected)
コード例 #2
0
 def test_render_template_without_request(self):
     """
     Render a template
     """
     loader = JsLoader(engine=None)
     template_path = loader.load_template(
         'test-component.js', template_dirs=[settings.TEMPLATE_DIR])[0]
     template = JsTemplate(template_path)
     result = template.render({})
     expected = '<span>Test component</span>'
     self.assertEqual(result, expected)
コード例 #3
0
ファイル: test_loader.py プロジェクト: hagsteel/django-jsx
 def test_load_missing_template(self):
     engine = JsEngine(dirs=[settings.TEMPLATE_DIR])
     loader = JsLoader(engine)
     with self.assertRaises(TemplateDoesNotExist):
         loader.load_template_source('foo.js')
コード例 #4
0
ファイル: test_loader.py プロジェクト: hagsteel/django-jsx
 def test_empty_template_dir_config(self):
     engine = JsEngine()
     loader = JsLoader(engine)
     with self.assertRaises(TemplateDoesNotExist):
         loader.load_template_source('foo.js')
コード例 #5
0
from django import template
from django.conf import settings
from django_jsx.template.backend import JsTemplate
from django_jsx.template.loaders import JsLoader

register = template.Library()
loader = JsLoader(engine=None)


class JsMissingTemplateDirException(Exception):
    pass


def _get_template_dirs():
    for t in settings.TEMPLATES:
        if t['BACKEND'] == 'django_jsx.template.backend.JsTemplates':
            return t['DIRS']
    return None


def _get_template_path(template_name):
    template_dirs = _get_template_dirs()
    if not template_dirs:
        return None
    template_path, _ = loader.load_template(template_name,
                                            template_dirs=template_dirs)
    return template_path


@register.simple_tag(takes_context=True)
def include_js(context, template_name, **kwargs):