如何扩展基本 html 文件,例如:base.html<!DOCTYPE html> <html> <head> <title>My Site</title> </head> <body> <!-- insert html here --> </body> </html>然后创建一个继承该基本模板的页面,在 Python Jinja2 中我会这样做:main.html{{ extend "base.html" }}main.html 现在拥有 base.html 中的所有 HTML。然后,只要我在我的 base.html 文件中定义一个区域来插入 html,我就可以从 main.html 中执行它,在 Jinja2 中它看起来像:base.html <!DOCTYPE html> <html> <head> <title>My Site</title> </head> <body> {{ block "body" }} {{ endblock }} </body> </html>然后在 main.html{{ extend "base.html" }}{{ block "body" }}<h1>Title</h1>{{ endblock }}在任何 Go 框架中,我都想不出办法。他们似乎都在说要“定义”一个模板,然后将 HTML“组件”插入其中,我想另辟蹊径,定义一个基本 HTML 文件并将其继承到我的其他 HTML 文件中以进行构建,如果这有意义的话?
1 回答

qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
使用这些模板。
base.html:
<!DOCTYPE html>
<html>
<head>
<title>My Site</title>
</head>
<body>
{{block "body" $}}{{end}}
</body>
</html>`
主.html:
{{define "body"}}<h1>Title</h1>{{end}}
使用标准库模板包按扩展顺序解析模板;
t := template.Must(template.ParseFiles(
"base.html",
"main.html"))
执行生成的模板。
- 1 回答
- 0 关注
- 111 浏览
添加回答
举报
0/150
提交
取消