Ответы пользователя по тегу Jinja2
  • Переход с Django Templates на Jinja2?

    появление официальной возможности подключить jinja не значит что расширения стали бесполезны, когда потребовалось в итоге взвесив все за и против всё равно остановился на niwinz.github.io/django-jinja
    При этом я не отключал стандартные шаблоны, я использую и то и другое, где узкем местом стали шаблоны, перешел на использование jinja.

    пользуюсь примерно таким:
    TEMPLATES = [
        {
            'NAME': 'django',
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [],
            'APP_DIRS': False,
            'OPTIONS': {
                'string_if_invalid': 'VARIABLE ERROR',
                'context_processors': [
                    "django.contrib.auth.context_processors.auth",
                    "django.core.context_processors.request",
                    'django.contrib.messages.context_processors.messages',
                    'core.context_processors.cities_list',
                    'django.core.context_processors.static',
                ],
                'loaders': [
                    ('django.template.loaders.cached.Loader', [
                        'django.template.loaders.filesystem.Loader',
                        'django.template.loaders.app_directories.Loader',
                    ]),
                ],
    
            },
        },
        {
            'NAME': 'jinja2',
            'BACKEND': 'django_jinja.backend.Jinja2',
            'DIRS': [],
            'APP_DIRS': True,
            'OPTIONS': {
                'autoescape': False,  # !!!!!!
                "app_dirname": "jinja2",
                "match_extension": ".html",
                "newstyle_gettext": True,
                "translation_engine": "django.utils.translation",
                "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",
                    # "coffin.spaceless" не работает в py3
                ],
            }
        },
    ]
    Ответ написан