首页  >  文章  >  后端开发  >  如何在Go的HTML/模板中使用基础模板文件?

如何在Go的HTML/模板中使用基础模板文件?

DDD
DDD原创
2024-11-07 11:12:03954浏览

How Do I Use Base Template Files in Go's HTML/Template?

在 Go 的 HTML/模板中使用基本模板文件

在 Web 开发中,使用基本布局模板有助于保持多个页面的一致性。让我们了解如何在 Go 的 HTML/模板中使用此技术。

例如,假设我们有三个文件:

base.html: 基本布局文件

<!DOCTYPE html>
<html lang="en">
<body>

header...

{{template "content" .}}

footer...

</body>
</html>

page1.html:“/page1”的页面模板

{{define "content"}}
<div>
    <h1>Page1</h1>
</div>
{{end}}
{{template "base.html"}}

page2.html:“/page1”的页面模板/page2"

{{define "content"}}
<div>
    <h1>Page2</h1>
</div>
{{end}}
{{template "base.html"}}

问题是“/page1”和“/page2”当前使用相同的模板文件“page2.html”。

要使用“ base.html”布局模板,您需要一起解析“content”和“base”模板。这是使用 ParseFiles 和 ExecuteTemplate 实现的。

base.html(已更新):

{{define "base"}}
<!DOCTYPE html>
<html lang="en">
<body>

header...

{{template "content" .}}

footer...

</body>
</html>
{{end}}

page1.html(已更新):

{{define "content"}}
I'm page 1
{{end}}

page2.html(已更新):

{{define "content"}}
I'm page 2
{{end}}

用法:

tmpl, err := template.New("").ParseFiles("page1.html", "base.html")
// handle error
err = tmpl.ExecuteTemplate(w, "base", yourContext)

这将渲染基本布局模板中的适当内容。例如,在渲染“/page1”时,内容“I'm page 1”将被合并到基本模板的 {{template "content. ."}} 部分中。

以上是如何在Go的HTML/模板中使用基础模板文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn