Функция refresh
Функция refresh применяется к объекту
Babel и перечитывает данные о текущей локали
и часовом поясе. Обычно она вызывается
автоматически при каждом запросе, но может
понадобиться вручную, если вы изменили
настройки локали во время выполнения запроса.
Функция не принимает параметров и ничего
не возвращает.
Синтаксис
babel.refresh()
Пример
Давайте настроим Babel и вызовем функцию
refresh после смены локали вручную:
from flask import Flask, g
from flask_babel import Babel
app = Flask(__name__)
app.config['BABEL_DEFAULT_LOCALE'] = 'en'
babel = Babel(app)
@app.route('/')
def index():
g.locale = 'ru'
babel.refresh()
return str(g.locale)
Результат выполнения кода:
"ru"
Пример
Давайте получим текущую локаль до и после
вызова функции refresh:
from flask import Flask, g
from flask_babel import Babel, get_locale
app = Flask(__name__)
app.config['BABEL_DEFAULT_LOCALE'] = 'en'
babel = Babel(app)
@app.route('/')
def index():
before = str(get_locale())
g.locale = 'de'
babel.refresh()
after = str(get_locale())
return before + ' -> ' + after
Результат выполнения кода:
"en -> de"
Смотрите также
-
функцию
get_locale,
которая возвращает текущую локаль -
функцию
get_timezone,
которая возвращает текущий часовой пояс -
метод
localeselector,
который задаёт функцию выбора локали -
метод
timezoneselector,
который задаёт функцию выбора часового пояса