gpt4 book ai didi

转到 Template.ParseFiles 和 filepath.Join

转载 作者:IT王子 更新时间:2023-10-29 02:24:56 25 4
gpt4 key购买 nike

我正在尝试从目录加载 html 文件,但出现错误“打开模板:没有这样的文件或目录”

我的目录结构如下

/Users/{用户名}/go/src/app主.go

/Users/{用户名}/go/src/app/templates我的模板.html

错误来自下面这行

template.Must(template.ParseFiles(filepath.Join("templates", "mytemplate.html")))

我是新手,只是想感受一下语法。

编辑 1

我正在使用“go build”命令构建项目并在上面显示的“app”目录中执行它。

$GOROOT =/usr/local/go$GOPATH =/Users/{用户名}/go

我还更新了目录结构以集成 $GOPATH

最佳答案

检查你的程序在运行时的工作目录

dir, _ := os.Getwd()
fmt.Println(dir)

然后您可以使用它来获取模板的正确路径

template.Must(template.ParseFiles(filepath.Join(dir, "templates", "mytemplate.html")))

对于生产使用,您可以从配置文件或环境中获取 dir 的值,

引用:https://golang.org/pkg/os/#Getwd

编辑:当您运行程序时,请确保您在终端中使用 cd 进入正确的目录

关于转到 Template.ParseFiles 和 filepath.Join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32556020/

25 4 0