コード例 #1
0
ファイル: jinja2_env.py プロジェクト: xzregg/djmyframework
def environment(**options):
    env = Environment(extensions=['jinja2.ext.i18n'], **options)
    env.install_gettext_callables(gettext=gettext_lazy,
                                  ngettext=ngettext_lazy,
                                  newstyle=True)

    from django.template.defaultfilters import register as django_default_register
    env.filters.update(django_default_register.filters)

    from .templatetags.mytags import register
    env.filters.update(register.filters)

    for app_name in settings.INSTALLED_APPS:
        try:
            _register = import_library('%s.%s' % (app_name, 'templatetags'))
            env.filters.update(_register.filters)
        except Exception as e:
            pass

    env.globals.update({
        'static': staticfiles_storage.url,
        'url': reverse,
        'reverse': reverse,
        'settings': settings
    })
    return env
コード例 #2
0
    def _render_html(self, template_string, context={}):
        # :(
        if DJANGO_VERSION > (1, 9):
            from django.template.library import import_library
            tag_lib = import_library('testapp.tags')
        else:  # DJANGO_VERSION > (1,7):
            from django.template.base import import_library
            tag_lib = import_library('testapp.tags')

        if DJANGO_VERSION > (1, 9):
            lexer = Lexer(template_string)
        else:
            lexer = Lexer(template_string, self._make_origin())
        parser = Parser(lexer.tokenize())
        parser.add_library(tag_lib)
        nodelist = parser.parse()

        return nodelist.render(Context(context))
コード例 #3
0
ファイル: compat.py プロジェクト: max-nicholson/django-unload
def get_templatetag_library(module):
    """Get the templatetag module's Library instance.

    Needed for extracting template tags and filters.

    Args:
        module {str}: module's name (e.g. 'app_tags')

    Returns:
        {Library}

    Raises:
        {AttributeError}: nonexistent module
        {InvalidTemplateLibrary}: the module does not have a variable
            named `register`

    """
    try:
        if import_library is not None and get_installed_libraries is not None:
            return import_library(get_installed_libraries().get(module))
        else:
            return get_library(module)
    except (AttributeError, InvalidTemplateLibrary):
        raise
コード例 #4
0
 def get_installed_libraries():
     for module in tplbackend.get_installed_libraries().values():
         try:
             yield library.import_library(module)
         except (ImproperlyConfigured, library.InvalidTemplateLibrary):
             continue
コード例 #5
0
 def import_library(module):
     return library.import_library(module)
コード例 #6
0
ファイル: completions.py プロジェクト: zcodes/django-plus.vim
 def get_installed_libraries():
     for module in tplbackend.get_installed_libraries().values():
         try:
             yield library.import_library(module)
         except (ImproperlyConfigured, library.InvalidTemplateLibrary):
             continue
コード例 #7
0
ファイル: completions.py プロジェクト: zcodes/django-plus.vim
 def import_library(module):
     return library.import_library(module)