You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Yattag代码中正确添加defer属性?

解决Yattag中添加defer属性的报错问题

你遇到的问题在于错误使用了doc.asis()方法,同时对Yattag处理HTML布尔属性的方式不熟悉。以下是正确的实现方式:

推荐写法:使用Yattag的标签生成功能

Yattag的tag方法/上下文管理器会自动处理HTML布尔属性(比如defer),只需传入defer=True即可:

方式1:上下文管理器(更易读,适合带内容的标签)

from yattag import Doc

doc, tag, text = Doc().tagtext()

# 生成带defer和src属性的script标签
with tag("script", defer=True, src="/js/table_2.js"):
    pass  # script标签无内容,用pass占位

方式2:直接调用tag方法(适合自闭合标签)

doc.tag("script", defer=True, src="/js/table_2.js")

两种方式最终都会生成符合要求的HTML代码:

<script defer src="/js/table_2.js"></script>

不推荐:强行使用doc.asis()

如果一定要用doc.asis(),需要直接传入完整的HTML字符串(失去了Yattag动态生成标签的优势):

doc.asis('<script defer src="/js/table_2.js"></script>')

内容的提问来源于stack exchange,提问作者LML

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:10:29