我正在用 GoLang 编写一个 Web 应用程序,而不使用任何框架。
例如,我正在尝试创建layout类似于 nodejs 中的布局。
=== layout.html ====
{{ define "layout"}}
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href="/static/style.css" rel="stylesheet" media="all" type="text/css">
</head>
<body>
{{ template "content"}}
</body>
</html>
{{ end }}
然后我在 home.html 中有一些内容
{{ define "content"}}
<h1>{{.Title}}</h1>
<div>This is a test</div>
{{ end }}
这种方法有两个问题
(1)我的Execute模板代码,似乎没有将数据传递给内容
templates.ExecuteTemplate(w, "layout", &Page{Title: "Home", Body: nil})
(2) 如果我想拥有多个具有相同布局的页面,上述方法将不起作用,因为它没有指定要加载的内容。
有人可以解释在 GoLang 中使用 tempates 和“布局”的策略吗?
烙印99
智慧大石
相关分类