caching - Golang 多模板缓存

标签 caching go go-html-template

是否可以在golang中渲染多个同名的html模板。原因是,我想制作一个布局并将其重复用于多个 View 。例如:

{{define "MainLayout"}}
<html>

  <head>
    <title>{{.Title}}</title>
  </head>

  <body>

    <div>{{template "Content" .}}</div>

  </body>

</html>
{{end}}

内容可以是不同的模板,所有模板都由{{define "Content"}}

定义

最佳答案

我相信 elithrar 有您正在寻找的东西,但不幸的是,它目前不受支持。处理此问题的典型方法是在它们自己的模板中定义页眉和页脚,然后执行与您的方法相反的操作。您可以将提供给模板解析器的结构传递到这些模板中以呈现您的页面。

{{define "header"}}
<html>...
{{end}}

{{define "footer"}}
...</html>
{{end}}

{{define "Content"}}
{{template "header" .}}
HTML
{{template "footer" .}}
{{end}}

关于caching - Golang 多模板缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34831763/

相关文章:

go - Sqlx "missing destination name"通过指针获取结构标签

if-statement - 在then子句之后使用或不使用else子句,该子句返回[closed]

转到模板 : Use nested struct's field and {{range}} tag together

go - 为什么传递的变量不呈现在html/template中?

c# - 关于缓存的线程安全 IEnumerable<T> 实现的性能

.net - WebClient 的缓存位于磁盘上的哪个位置?

php - 缓存 MySQL 查询

java - ExpireAfterWrite 似乎不起作用

go - net.IP 没有实现 net.Addr(缺少网络方法)

go - 渲染 html 模板 golang revel