为了账号安全,请及时绑定邮箱和手机立即绑定

如何将基本模板扩展到其他模板

如何将基本模板扩展到其他模板

Go
慕森王 2022-05-23 16:43:27
如何扩展基本 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"))

执行生成的模板。


查看完整回答
反对 回复 2022-05-23
  • 1 回答
  • 0 关注
  • 111 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号