首页  >  文章  >  后端开发  >  基本模板如何在 Golang HTML/Template 中工作?

基本模板如何在 Golang HTML/Template 中工作?

DDD
DDD原创
2024-11-08 11:00:02369浏览

How do Base Templates Work in Golang HTML/Template?

在 Golang HTML/模板中使用基本模板

在您给定的场景中,您面临着关于基本模板使用的误解。问题在于您认为页面 1 和 2 使用相同的模板,而实际上,它们引用相同的基本模板并定义独特的内容部分。

基本模板的规范用法

要有效地使用基本模板,请按照以下步骤操作:

  1. 定义多个模板:创建一个包含通用布局的基本模板(例如,base.html)您网站的。使用 {{define "content"}} 定义此基本模板中的特定内容部分。
  2. 创建内容模板:对于网站上的每个唯一页面,创建单独的模板(例如 page1. html、page2.html)。在这些模板中,使用 {{define "content"}} 定义要在基本模板的“内容”部分中显示的内容。
  3. 包含基本模板: 在每个内容模板中,使用 {{template "base.html"}} 指示模板引擎包含基本模板。这可确保基本布局用作每个页面的框架。

示例实现

以下是基于您提供的代码的示例实现:

base.html

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

header...

{{template "content" .}}

footer...

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

page1.html

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

page2.html

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

模板解析和执行
定义模板后,您可以使用 template.New("").ParseFiles(page1.html, base.html 解析它们)) 并使用 tmpl.ExecuteTemplate(w, "base", yourContext) 执行它们。

以上是基本模板如何在 Golang HTML/Template 中工作?的详细内容。更多信息请关注PHP中文网其他相关文章!

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