我正在尝试渲染一个模板:
root_path, err := osext.Executable()
if err != nil {
return err
}
template_path := root_path + "/app/views/mailtemplates/" + "feedback.html"
fmt.Println(exist(template_path))
tmpl, err := template.ParseFiles(template_path)
if err != nil {
return err
}
但我有错误not a directory
。
我的exist
功能:
func exist(file_path string) bool {
if _, err := os.Stat(file_path); os.IsNotExist(err) {
return false
}
return true
}
它返回true
。 template.ParseFiles
有什么问题?我看到文档以及编写参数的地方filenames
和There must be at least one file
。我做错了什么?
编辑: 我的变数:
root_path: /home/cnaize/Dropbox/develop/gocode/bin/advorts
template_path: /home/cnaize/Dropbox/develop/gocode/bin/advorts/app/views/mailtemplates/feedback.html
我的文件内容:
<html>
<head>
</head>
<body>
Hello, World!
</body>
</html>
已编辑2:我已将所有项目,库等移至/home/cnaize/gocode
,现在我遇到错误:
open /home/cnaize/gocode/bin/advorts/app/views/mailtemplates/feedback.txt: not a directory
这是Revel
的问题吗?我应该怎么办?我试图删除这个bin文件,没有帮助。
答案 0 :(得分:2)
实际问题是Dropbox/
文件夹中的路径:认为它是由外部进程(dropbox
)同步/管理的,访问该文件的能力始终不可靠。
将文件放在Dropbox路径之外可以解决问题。