为了账号安全,请及时绑定邮箱和手机立即绑定

去 Template.ParseFiles 和 filepath.Join

去 Template.ParseFiles 和 filepath.Join

Go
慕娘9325324 2021-11-08 15:36:05
我正在尝试从目录加载 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在终端中使用的正确目录中


查看完整回答
反对 回复 2021-11-08
?
HUX布斯

TA贡献1876条经验 获得超6个赞

尝试这个,

template.Must(template.New("mytemplate.html").ParseFiles("templates/mytemplate.html"))


查看完整回答
反对 回复 2021-11-08
  • 2 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信