0

こんにちは、ご挨拶できて光栄です。今日、Babel de Flask が私に提示しているエラーについて助けを求めに来ました。

コードの最後に、エラー メッセージを引用して示します。

次に使用したコード。

私は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' は未定義です

ここにコードが表示されます

4

1 に答える 1