跳到內容

多重模板

Gin 預設只允許使用一個 html.Template。查看 multitemplate 以使用如 block template 等功能。

package main
import (
"github.com/gin-contrib/multitemplate"
"github.com/gin-gonic/gin"
)
func createMyRender() multitemplate.Renderer {
r := multitemplate.NewRenderer()
r.AddFromFiles("index", "templates/base.html", "templates/index.html")
r.AddFromFiles("article", "templates/base.html", "templates/article.html")
return r
}
func main() {
router := gin.Default()
router.HTMLRender = createMyRender()
router.GET("/", func(c *gin.Context) {
c.HTML(200, "index", gin.H{"title": "Home"})
})
router.GET("/article", func(c *gin.Context) {
c.HTML(200, "article", gin.H{"title": "Article"})
})
router.Run(":8080")
}