【问题标题】:Using .format to insert text into some HTML code, getting errors (Python)使用 .format 将文本插入一些 HTML 代码,得到错误(Python)
【发布时间】:2016-05-11 01:22:27
【问题描述】:

我对 Python 还是很陌生,为了练习,我决定创建一个小程序来帮助我父亲更新他的网站(他拥有一个小电影院)以显示正在播放的电影。

我基本上做了一堆文本框来输入电影的标题、演员、播放时间等。完成后,点击“提交”,它会弹出一个新的 index.html 页面上传到服务器。

问题是,我正在使用 {0}、{1}、{2} 等将文本框中的新信息插入 HTML 代码(这是我程序中的字符串),而 Python 不断获取很困惑,因为 HTML 代码中有一些带有花括号的 Javascript。

代码如下:

    def submit(self):
        self.createHTML(('''<lots of html>{some javascript stuff}{0}{1}{2}{3}{4}{5}{6}{7}
'''.format((self.text_title.get(1.0,'end')),
           (self.text_date2d.get(1.0,'end')),
           (self.text_date3d.get(1.0,'end')),
           (self.text_cast.get(1.0,'end')),
           (self.text_summary.get(1.0,'end')),
           (self.text_runtime.get(1.0,'end')),
           (self.text_trailer.get(1.0,'end')),
           (self.text_image.get(1.0,'end'))))) 

我将 HTML 替换为 &lt;lots of html&gt;{some javascript stuff} 以使其在堆栈上更简单(并帮助找到问题的根源)。

当我的程序中有实际站点的 HTML 代码时,它会显示“ValueError: unexpected '{' in field name”并指向函数的结尾 (self.text_image.get(1.0,'end')) )))。当我使用上面的简化版本时,我得到“KeyError:'some javascript stuff'”,它也指向函数的结尾。

如果我可以告诉 Python 忽略所有 JavaScript 花括号,我认为它可能会起作用,但使用转义字符不起作用。

希望这是有道理的。有人可以帮忙吗?

【问题讨论】:

    标签: javascript html string python-3.x string-formatting


    【解决方案1】:

    看起来您需要在 JavaScript 部分中转义大括号。您可以在 JavaScript 中使用双花括号 {{ }} 而不是单花括号。

    【讨论】:

      猜你喜欢
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 2012-08-13
      相关资源
      最近更新 更多