python - Flask Babelex 0.9.4 和 % 转义
问题描述
在Flask
我们最近升级Werkzeug
到 1.0.1 的应用程序中(因此我们可以在 cookie 上设置相同的站点),这强制了一些依赖项,其中Flask-BabelEx==0.9.4
.
在这次升级之后,转义 %(百分号)的处理方式发生了非常令人不安的变化。gettext('foo %%')
以前是 return的地方*"foo %"*
,现在是 return ,*"foo %%"*
也就是说 % 符号的转义似乎没有处理。我想,好吧,有点向上不兼容,我们只需要替换 babel 字符串中的所有%%
by %
(在参考语言以及所有翻译中,这已经很重要了)。
但这还不是故事的结局,因为对于Jinja2 模板中使用的所有 babel 字符串,例如{{ _("This is a percent sign: %") }}
,仍然处理符号的转义%
,所以仍然需要 {{ _("This is a percent sign: %%") }}
. 那么我们是否必须%
根据它们的使用位置来处理 - 转义和非转义的 babel 字符串?是否有某个地方可以缓解这个逃逸问题。
解决方案
推荐阅读
- oracle - 如何在 PLSQL 中避免这种情况
- dictionary - 如何重用 SerializableDictionary
数据成员? - xslt - 如何检查XML中是否存在一个孩子
- spring-boot - 如何在 https 上运行 Spring Vault
- python - Python 在使用多处理时每 5 分钟运行一次部分代码
- python - discord.py bot 每次发送消息,并且仅在发送每个单词时完成
- json - bash - jq 在 json 上迭代,键和值中有空格
- javascript - 如何停止对每个输入事件的响应
- oracle - Oracle 低基数列索引排序性能
- excel - 用于查找特定范围内的项目并复制到另一张工作表的 VBA 代码