【问题标题】:Bottlepy escaping HTML characters not working as expectedBottlepy 转义 HTML 字符未按预期工作
【发布时间】:2021-01-29 02:31:48
【问题描述】:

我试图弄清楚为什么瓶子对 html 转义字符“

<select>
   <script>
     var sel = document.getElementById('{{name}}');
     var opt = document.createElement("option");
     sel.add(opt);
     var n = {{!sorted(choices)}};
     n.forEach(function(n) {
        var opt = document.createElement("option");
        opt.value = n;
        opt.text = n;
        sel.add(opt);
     });
   </script>
  </select>

为了发布问题,我通过删除变量将其缩小到以下代码,以便可以简单地复制它。

在我的简单模板视图中,我有以下内容:
var y = "{{!'For any x&lt;1'}}";

我希望 JavaScript 变量 y 具有值 y='For any xvar y = "For any x&amp;lt;1";

当我运行 bottle --version 我得到
Bottle 0.13-dev

谢谢

【问题讨论】:

    标签: python escaping bottle


    【解决方案1】:

    这能解决问题吗?

    var y = "{{!'For any x<1' | safe}}";
    

    【讨论】:

    • 我相信 safe 只在 Django 中使用。这是瓶子(pypi bottlepy)。当我尝试安全时,它说:NameError: name 'safe' is not defined
    • Bottle 使用jinja2 进行模板化。 safejinja2 关键字,不确定为什么它不适用于您的情况。 jinja.palletsprojects.com/en/2.11.x/templates/#html-escaping
    • 啊...让我检查一下我的实现。非常感谢...我会在 24 小时内回复
    • 只是一个疯狂的猜测:可能缺少导入?或者您需要完全符合safe 的条件?祝你好运
    • 通过尝试使用安全,我发现我的环境设置不正确。
    猜你喜欢
    • 2013-01-11
    • 2014-11-14
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多