I'm not sure there is a better way to do this?

But I am using the Jinja2 templating engine with Django, and I originally set 
this up in Django2-ish?
So maybe I missed a better way to do this...

So I have a  jinjaenv.py file that simply setups up the environment for the 
Jinja2 template engine.

jinjaenv.py
```
#from __future__ import absolute_import  # Python 2 only
from jinja2 import Environment
from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import reverse
from django_icons.templatetags.icons import icon

def environment(**options):
    env = Environment(**options)
    env.globals.update({
       'static': staticfiles_storage.url,
       'url': reverse,
       'icon':icon,
    })
    return env
```
And have that in my settings:

    # 
https://docs.djangoproject.com/en/2.1/ref/templates/api/#django.template.loaders.cached.Loader

    {   'NAME': "Jinja2",
        "BACKEND": "django_jinja.backend.Jinja2",
        "APP_DIRS": True,
        'DIRS': [TEMPLATE_PATH,],
        "OPTIONS": {'environment': "quickbbs.jinjaenv.environment",
            # Match the template names ending in .html but not the ones in the 
admin folder.
            "match_extension": ".jinja",
            "extensions": [
                "jinja2.ext.do",
                "jinja2.ext.loopcontrols",
                "jinja2.ext.with_",
                "jinja2.ext.i18n",
                "jinja2.ext.autoescape",
                "django_jinja.builtins.extensions.CsrfExtension",
                "django_jinja.builtins.extensions.CacheExtension",
                "django_jinja.builtins.extensions.TimezoneExtension",
                "django_jinja.builtins.extensions.UrlsExtension",
                "django_jinja.builtins.extensions.StaticFilesExtension",
                "django_jinja.builtins.extensions.DjangoFiltersExtension",
            ],
             "bytecode_cache": {
                 "name": "default",
                 "backend": "django_jinja.cache.BytecodeCache",
                 "enabled": True,
             },
             "autoescape": True,
             "auto_reload": True,
             "translation_engine": "django.utils.translation",
         }
    },

Is there a better way to do this?  It’s a pain to update the environment file…
And I can’t tell if the django-icon issue that I’m seeing is due to Jinja2 or 
not. 
(I’m 99% sure it isn’t… But)

        - Benjamin

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/11398EAF-052F-45CD-91BE-1B4E36C3C5B3%40schollnick.net.

Reply via email to