我正在尝试从目录加载 html 文件,但收到错误“打开模板:没有这样的文件或目录”我的目录结构如下/Users/{username}/go/src/app main.go/Users/{username}/go/src/app/templates mytemplate.html错误来自下面的行template.Must(template.ParseFiles(filepath.Join("templates", "mytemplate.html")))我是新手,只是想感受一下语法。编辑 1我正在使用“go build”命令构建项目并从上面显示的“app”目录中执行它。$GOROOT = /usr/local/go $GOPATH = /Users/{username}/go我还更新了目录结构以集成 $GOPATH
2 回答
LEATH
TA贡献1936条经验 获得超6个赞
检查程序在运行时的工作目录
dir, _ := os.Getwd()
fmt.Println(dir)
然后您可以使用它来获取模板的正确路径
template.Must(template.ParseFiles(filepath.Join(dir, "templates", "mytemplate.html")))
对于生产用途,您可以从dir配置文件或环境中获取 val ,
参考:https : //golang.org/pkg/os/#Getwd
编辑:当您运行程序时,请确保您cd在终端中使用的正确目录中
HUX布斯
TA贡献1876条经验 获得超6个赞
尝试这个,
template.Must(template.New("mytemplate.html").ParseFiles("templates/mytemplate.html"))
- 2 回答
- 0 关注
- 194 浏览
添加回答
举报
0/150
提交
取消