Я перенес свой код из webapp2 во Flask.(Я развернул свой код в Google App Engine)
Однако я больше не могу использовать эту строку: "Error: Max %1$d characters"
Инициализация
flask_app = Flask(__name__)
babel = Babel(flask_app, default_domain='strings')
HTML-шаблон
<div class="...">{{ _('error_long_value') | replace('%1$d', '200') }}</div>
Я знаю, что это не лучшее использование, но мне нужно оставить% 1 $ d в качестве заполнителя.(Это работало с webapp2)
Журнал:
...
File ".../libs/flask/templating.py", line 135, in render_template
context, ctx.app)
File ".../libs/flask/templating.py", line 117, in _render
rv = template.render(context)
File ".../libs/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File ".../libs/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File ".../app/templates/filename.html", line 567, in top-level template code
<div class="invalid-feedback">{{ _('error_long_value') | replace('%1$d', '200') }}</div>
ValueError: unsupported format character '$' (0x24) at index 29
Я уже пытался использовать "| e" или "| safe" после "_ ('error_long_value')"в шаблоне HTML, удалив replace ().