文章开头,博主在学习Gin框架的时候,学习知识点使用gin渲染html模版,不过出现了文章标题的错误,通过英译可以很清楚的了解到:是因为没有匹配的文件,所以就很纳闷,为什么?下面将通过实际的例子来解决疑惑。
1、代码实现步骤
1、go文件
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
// 加载 HTML 模板文件
r.LoadHTMLGlob("templates/*")
// 创建路由,渲染 HTML 模板
r.GET("/", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.html", gin.H{
"title": "Welcome to my website",
})
})
// 启动 Gin 引擎
r.Run(":8080")
}
2、html文件
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>{{.title}}</title>
</head>
<body>
<h1>{{.title}}</h1>
<p>Hello, world!</p>
</body>
</html>
3、目录结构
2、错误产生
3、解决思路
3.1、方法一:绝对路径
因为这涉及到文件不匹配的问题,我们可以尝试的从路径这个方面进行思考,因为代码中使用 r.LoadHTMLGlob("templates/*")
是以相对路径的方式来进行文件匹配的,那么我们便将其修改为绝对路径再进行代码运行!修改后为代码版本2! 即r.LoadHTMLGlob("/Users/chenzhihui/go/src/ginprojects/cehtml/templates/*")
1、终端运行展示
2、浏览器访问(同样正确!)
3.2、方法二:修改工作目录
1、进入工作区
2、修改工作目录
3、修改后工作目录
4、此时,我们保持代码属于版本1,即不做任何改动,运行程序!
总结:两个方法:1)使用绝对路径;2)修改工作目录,用相对路径。