我尽力避免项目混乱,所以我决定将代码分成不同的文件。
main.go
func main() {
router := gin.Default()
router.Static("/assets", "./assets")
router.LoadHTMLGlob("templates/*/**")
routes.Attach(router)
router.Run(":9000")
}
router.go
func Attach(router *gin.Engine) {
router.GET("/", controllers.Root)
}
controllers.go
func Root(c *gin.Context) {
// how can I define specific template here???
// router.SetHTMLTemplate(template.Must(template.ParseFiles("templates/layouts/main.tmpl", "templates/root/root.tmpl")))
c.HTML(200, "base", gin.H{
"title": "Root page",
})
}
那么我如何以这种方式为不同的处理程序定义特定的模板?