您好,很高兴与您打招呼,今天我来向您寻求 Babel de Flask 向我提出的错误的帮助,我是该主题的新手,但在此先感谢您的合作。
在代码的末尾,我在 Quote 中显示了错误消息。
接下来是使用的代码。
我添加了init .py
import os
from flask import Flask, request
from werkzeug.datastructures import ImmutableDict
import flask_babel as babel
from flask_babel import gettext as _
b = babel.Babel()
app = Flask(__name__, instance_relative_config=True)
b.init_app(app)
@babel.localeselector
def get_locale():
# if the user has set up the language manually it will be stored in the session,
# so we use the locale from the user settings
try:
language = session['language']
except KeyError:
language = None
if language is not None:
return language
return request.accept_languages.best_match(passbyte.config['LANGUAGES'].keys())
@app.route('/language/<language>')
def set_language(language=None):
session['language'] = language
return redirect(url_for('home'))
@app.context_processor
def inject_conf_var():
return dict(AVAILABLE_LANGUAGES=app.config['LANGUAGES'], CURRENT_LANGUAGE=session.get('language',request.accept_languages.best_match(app.config['LANGUAGES'].keys())))
我的 > config.py
# -*- coding: utf-8 -*-
# ...
# available languages
LANGUAGES = {
'en': 'English',
'es': 'Español'
}
我的 base.html
{% for language in AVAILABLE_LANGUAGES.items() %}
{% if CURRENT_LANGUAGE == language[0] or (CURRENT_LANGUAGE == '' and BEST_MATCH_LANGUAGE == language[0]) %}
<li class="lang_active"><a name="language">{{ language[1] }}</a></li>
{% else %}
<li class="lang_inactive"><a href="?lang={{ language[0] }}">{{ language[1] }}</a></li>
{% endif %}
{% endfor %}
错误
jinja2.exceptions.UndefinedError: 'AVAILABLE_LANGUAGES' 未定义
我在这里看到我的代码