为了账号安全,请及时绑定邮箱和手机立即绑定

将 template.HTML 直接渲染成模板

将 template.HTML 直接渲染成模板

Go
拉莫斯之舞 2021-07-16 19:15:00
我最近换掉了数据存储,作为一个副作用,我不得不将结构字段从template.HTMLtostring更改为与 marshaller/DB 驱动程序兼容。此字段RenderedDesc包含通过russross/blackfriday传递的渲染 HTML 。以前,我可以将整个结构“按原样”传递到模板中并调用{{ .RenderedDesc }}模板。因为它现在是一个字符串,所以我添加了一个过滤器来将它转换回模板渲染:模板.gofunc RenderUnsafe(s string) template.HTML {    return template.HTML(s)}template.FuncMap{        ...        "unsafe": RenderUnsafe,    }_content.tmpl...<div class="detail">    {{ .RenderedDesc | unsafe }}</div>...有没有更好的方法来实现这一点而不必在模板级别使用过滤器?缺少从我的数据库驱动程序(不在卡片上)重写编组逻辑,看起来这是“存储”字符串但呈现原始 HTML 的最简单方法。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 374 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信