Prettier 在 VSCode 中使用 Flask/Jinja2 模板引发意外的结束标签错误

问题描述 投票:0回答:1

我正在 VSCode 中使用 Jinja2 模板开发 Flask 项目,并且遇到了一个问题:当我格式化 HTML 模板文件时,Prettier 抛出“意外的结束标记”错误。该错误特别指向结束

</button>
标签,这似乎是有序的。

这是 Prettier 错误输出:

[错误] 意外的结束标签“按钮”。当标记时可能会发生这种情况 已被另一个标签关闭。欲了解更多信息,请参阅 https://www.w3.org/TR/html5/syntax.html#ending-elements-that-have-implied-end-tags(67:7)

即使按钮标签在 Flask/Jinja2 块内正确打开和关闭,也会发生此错误。

这是导致问题的模板片段:

<button
  class="btn btn-sm btn-primary"
  onclick="showConfirmationModal('{{url_for("delete_item",id=item.id)}}','Confirm Action','Are you sure?')"
>
Delete
</button>

我正在使用 Prettier v10.1.0 和 VSCode v1.85.1

有谁知道为什么会发生这种情况或者如何配置 Prettier 以与 Flask/Jinja2 模板一起使用?

flask jinja2 prettier
1个回答
0
投票

虽然它对于解释器来说工作得很好,但嵌套引号似乎是解析器的问题。

我在最内部的服务器端函数中将引号 " 更改为 '

这是更新后的代码:

  <button
    class="btn btn-sm btn-primary"
    onclick="showConfirmationModal('{{url_for('delete_item',id=item.id)}}','Confirm Action','Are you sure?')"
  >
    Delete
  </button>

我相信格式化程序(更漂亮)只接受两层嵌套的引号。 由于 {{ }} 中的所有内容都是在服务器端执行的,所以这不是问题。

© www.soinside.com 2019 - 2024. All rights reserved.