Прикручиваем Jinja2 к Django

категория: Django
Почему именно Jinja2, а не встроенный шаблонизатор Django можете почитать в Гугле, но там явно преимущества на лицо, поэтому советую хотя бы попробовать. А потом от написания глобальных функций вместо всяких контекстных процессоров и шаблонных тегов за уши не оттянешь :) Ничего особенного писать не буду, просто моя установка для django >= 1.8:
pip install django-jinja
INSTALLED_APPS += ('django_jinja',)
В настройках оставляю шаблонизатор Django читать шаблоны админки, а все свои html будет обрабатывать Jinja2. settings.py
TEMPLATES = [
    {
        "BACKEND": "django_jinja.backend.Jinja2",
        "APP_DIRS": True,
        "OPTIONS": {
            "match_extension": ".html",
            "match_regex": r"^(?!admin/).*",
            "newstyle_gettext": True,
            },
            "filters": {
                "myfilter": "path.to.filters.myfilterfn",
            },
            "constants": {
                "name": "acman",
            },
            "globals": {
                "somefn": "path.to.functions.somefn",
            },
        }
    },
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
А подробнее можете почитать тут


blog comments powered by Disqus