在 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中文网其他相关文章!