1. 程式人生 > >Gin html模板引用

Gin html模板引用

提取公共部分

1.header.html

{{define "header"}} 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
        <span>ddddd</span>
{{end}}

2.footer.html

{{define "footer"}}

        <span
>
end</span> </body> </html>
{{end}}

注意:define部分只寫檔案的名字,不加路徑和字尾名

使用不同路徑下但相同檔名的模板

func main() {
    router := gin.Default()
    router.LoadHTMLGlob("views/**/*")
    router.GET("/main/newlist", func(c *gin.Context) {
        c.HTML(http.StatusOK, "main/newlist.html",gin.H{
            "title"
: "Posts", }) }) router.GET("/users/index", func(c *gin.Context) { c.HTML(http.StatusOK, "users/index.tmpl",gin.H{ "title": "Users", }) }) router.Run(":8080") }

其上程式碼分別引用了views資料夾下的posts資料夾和users資料夾。在HTML檔案中的寫發如下:

{{define "main/newlist.html"}}{{template
"header" .}}
<div>middle</div> {{template "footer" }}{{end}}

注意:在define中HTML檔案的路徑和字尾名都必須加上,跟引用公共模板正好相反。