J'essaye depuis plusieurs heures de faire fonctionner les choses, mais toujours sans succès. J'utilise Jinja2 avec Django (https://docs.djangoproject.com/en/1.11/topics/templates/#django.template.backends.jinja2.Jinja2) et maintenant j'essaie d'activer les traductions. Jinja2 docs suggèrent (http://jinja.pocoo.org/docs/2.9/extensions/#i18n-extension) l'extension existante (jinja2.ext.i18n). Donc, ma configuration ressemble à ceci:Django + Jinja2 + i18n: jinja2.exceptions.UndefinedError: 'gettext' est indéfini
settings.py
TEMPLATES = [
{
"BACKEND": "django.template.backends.jinja2.Jinja2",
"DIRS": [os.path.join(BASE_DIR, 'templates')],
"APP_DIRS": False,
'OPTIONS' : {
'environment': 'config.jinja2.environment'
}
}]
jinja2.py:
def environment(**options):
env = Environment(**options, extensions=['jinja2.ext.i18n'])
env.globals.update({
'static': staticfiles_storage.url,
'url': reverse,
'dj': defaultfilters
})
return env
Le template:
{{ gettext('...') }}
Résultat:
jinja2.exceptions.UndefinedError: 'gettext' is undefined
Est-ce que quelqu'un sait quel est le problème et qu'est-ce qui me manque? Merci d'avance pour votre aide!