登录
首页 >  Golang >  Go问答

在Go模板中如何渲染未转义的HTML?

来源:stackoverflow

时间:2024-03-20 13:27:30 346浏览 收藏

在 Go 模板中,可以通过使用 `template.HTML` 类型来渲染未转义的 HTML。只需将字符串转换为 `template.HTML` 类型,即可防止模板引擎对内容进行转义。例如,可以将存储在字符串中的条款和条件转换为 `template.HTML`,并在模板中使用 `{{.hello}}` 渲染,从而确保 HTML 内容不会被转义。

问题内容

如何在 go html 模板中呈现“安全”html?即没有模板引擎转义它?例如如果我从其他地方(例如数据库)提取 html 片段?

具体来说...我有一些冗长的条款和条件存储在字符串中。它们需要在不同的地方使用,而它们自己的模板并不是包含它们的理想方式。

将所有 html 内容都保存在模板中确实不方便...其他语言有一种方法可以指定注入的内容可以安全渲染。

如何在 go 中执行此操作?我知道它就在那里某个地方。我只是在文档中找不到它。

在处理程序中...

hello := "

hello" data["hello"] = hello render it and pass data...

在模板中...

show stuff

{{.hello}}

在浏览器中...

Show Stuff

Hello


正确答案


您可以使用html/template的HTTP type

只需像这样转换你的字符串:template.HTML("your html here")

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《在Go模板中如何渲染未转义的HTML?》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>