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

如何扩展基本 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 文件中以进行构建,如果这有意义的话?


慕森王
浏览 112回答 1
1回答

qq_遁去的一_1

使用这些模板。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(&nbsp; &nbsp; &nbsp;"base.html",&nbsp;&nbsp; &nbsp; &nbsp;"main.html"))执行生成的模板。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go