如何在 HTML 模板中不转义
How to not escape in HTML templates
正在尝试呈现 HTML 模板,以便通过带有嵌入式附件的电子邮件发送 cid:
。问题是,Go 确实转义了,我什么也做不了。
tplVars := map[string]interface{}{
"Dog": "cid:dog.png",
"Cat": "cid:cat.png",
}
我的测试模板看起来更像这样:
Dog: <img src="{{.Dog}}">
Cat: {{.Cat}}
输出为:
Dog: <img src="#ZgotmplZ">
Cat: cid:cat.png
如果文本在属性上下文之外,它会被正确评估,但当它是 src
属性时,它总是成为错误字符串。我也尝试将值从 string
更改为 template.HTMLAttr
但没有任何反应。 Cid 值始终被评估为该错误输出 #ZgotmplZ
.
问题是 src
属性并未被严格视为属性,而是 URL。如果您将它从 string
更改为 template.URL
,它就可以正常工作。
tplVars := map[string]interface{}{
"Dog": template.URL("cid:dog.png"),
"Cat": "cid:cat.png",
}
正在尝试呈现 HTML 模板,以便通过带有嵌入式附件的电子邮件发送 cid:
。问题是,Go 确实转义了,我什么也做不了。
tplVars := map[string]interface{}{
"Dog": "cid:dog.png",
"Cat": "cid:cat.png",
}
我的测试模板看起来更像这样:
Dog: <img src="{{.Dog}}">
Cat: {{.Cat}}
输出为:
Dog: <img src="#ZgotmplZ">
Cat: cid:cat.png
如果文本在属性上下文之外,它会被正确评估,但当它是 src
属性时,它总是成为错误字符串。我也尝试将值从 string
更改为 template.HTMLAttr
但没有任何反应。 Cid 值始终被评估为该错误输出 #ZgotmplZ
.
问题是 src
属性并未被严格视为属性,而是 URL。如果您将它从 string
更改为 template.URL
,它就可以正常工作。
tplVars := map[string]interface{}{
"Dog": template.URL("cid:dog.png"),
"Cat": "cid:cat.png",
}