这里演示的是同时渲染两个模板的,一个模板也是类似的
首先看目录结构
posts/index.tmpl
{{define "posts/index.tmpl"}}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-sacle=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>posts/index</title>
</head>
<body>
{{.title}}
</body>
</html>
{{end}}
users/index.tmpl
{{define "users/index.tmpl"}}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-sacle=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>users/index</title>
</head>
<body>
{{.title}}
</body>
</html>
{{end}}
ginDemo.go
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
r := gin.Default()
//r.LoadHTMLFiles("src/gin_test/templates/posts/index.tmpl","src/gin_test/templates/users/index.tmpl")//模板解析
//表示解析templates文件夹下所有的目录下的文件夹
r.LoadHTMLGlob("src/gin_test/templates/**/*")
//访问:9090/posts/index,然后渲染名为posts/index.tmpl的模板
r.GET("/posts/index", func(c *gin.Context) {
//name就是模板的名字,如果没有通过define语句定义模板名字的话,就是文件名字
c.HTML(http.StatusOK,"posts/index.tmpl", gin.H{
"title" : "posts/index.tmpl.com",
})
})
//访问:9090/users/index,然后渲染名为users/index.tmpl的模板
r.GET("/users/index", func(c *gin.Context) {
//name就是模板的名字,如果没有通过define语句定义模板名字的话,就是文件名字
c.HTML(http.StatusOK,"users/index.tmpl", gin.H{
"title" : "users/index.com",
})
})
r.Run(":9090")
}
结果