在 Go HTML/Template 中使用基本布局模板
在提供的代码中,问题在于基本模板文件的使用不当。为了解决这个问题,我们需要定义一个基本模板文件并在我们的部分模板中引用它,该文件将动态执行。
基本模板(base.html):
该文件定义了页面的整体布局,包括所有页面共享的元素,例如页眉、页脚和导航。
{{define "base"}} <!DOCTYPE html> <html lang="en"> <body> <!-- Header --> {{template "content" .}} <!-- Footer --> </body> </html> {{end}}
部分模板 1 (page1.html):
此文件定义特定于页面 1 的内容。
{{define "content"}} <h1>Page 1</h1> {{end}} {{template "base"}}
部分模板2 (page2.html):
此文件定义特定于页面 2 的内容。
{{define "content"}} <h1>Page 2</h1> {{end}} {{template "base"}}
用法:
使用基本模板,解析包含基本和内容的文件templates:
tmpl, err := template.ParseFiles("page1.html", "base.html") if err != nil { // Handle error }
然后,执行具有指定内容的模板:
err = tmpl.ExecuteTemplate(w, "base", yourContext) if err != nil { // Handle error }
这将在基本模板布局中呈现适当的内容。
以上是基本布局模板如何与 Go HTML/Template 有效结合使用?的详细内容。更多信息请关注PHP中文网其他相关文章!