【问题标题】:AttributeError: 'Babel' object has no attribute 'localeselector'AttributeError: \'Babel\' 对象没有属性 \'localeselector\'
【发布时间】:2023-02-01 00:49:45
【问题描述】:

我试图用“babel”翻译我的网络应用程序,但我被错误困住了: “AttributeError:‘Babel’对象没有属性‘localeselector’” 我使用 python 3.11.1 和 Babel 2.11.0 这是与问题相关的代码。

from flask_babel import Babel, get_locale, gettext

@babel.localeselector
def determine_locale():
    if 'language' in session:
        return session['language']
    return request.accept_languages.best_match(['en', 'es'])

我使用命令 promt 成功创建了所有文件,如(messages.pot、messages.po 和 messages.mo)。我想我对装饰器本身知之甚少,不知道去哪里寻找解决方案。

我尝试使用不同的方式导入 localeselector,并阅读了很多使用它的人的示例。但仍然无法理解我错过的步骤。

【问题讨论】:

    标签: python babeljs


    【解决方案1】:

    Flask-Babel: get_locale() seems to be not working

    有好心人解释了我问题的核心。我只是不应该在我的Flask 和flask_babel 版本中使用@babel.localeselector。并在之前定义get_locale() func

    babel.init_app(app, locale_selector=get_locale)
    

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生变化,仅链接答案可能会失效。 - From Review
    猜你喜欢
    • 2012-12-01
    • 2021-04-19
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多