如何擴展基本 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條經驗 獲得超8個贊
使用這些模板。
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 關注
- 128 瀏覽
添加回答
舉報
0/150
提交
取消