Go   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了golang中没有这样的文件或目录错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的一个golang控制器中指定一个html模板
我的目录结构是这样的

Project
 -com
  -src
   - controller
     -contoller.go
 -view
  - html
   -first.html

我想加载first.html for request / new.我已经将NewHandler用于url / new,而NewHandler func正在执行/ new请求并且在controller.go中.这是我的代码

func NewHandler(w http.ResponseWriter,r *http.request) {
    t,err := template.ParseFiles("view/html/first.html")
    if err == nil {
        log.Println("Template parsed successfully....")
    }
 err := templates.ExecuteTemplate(w,"view/html/first.html",nil)
if err != nil {
    log.Println("Not Found template")
}
//  t.Execute(w,"")
}

但是我收到了一个错误

panic: open first.html: no such file or directory

请帮我删除错误.提前致谢

解决方法

我通过给出html的绝对路径解决了这个问题.为此,我创建了一个解析html的类

package htmltemplates

import (
"html/template"
"path/filepath"
)

在我删除的NewHandler方法
     //模板用于存储所有模板
    var Templates * template.Template

func init() {
filePrefix,_ := filepath.Abs("./work/src/Project/view/html/")       // path from the working directory
Templates = template.Must(template.ParseFiles(filePrefix + "/first.html")) 
...
//htmls must be specified here to parse it
}

在NewHandler中,我删除了前5行而是给了

err := htmltemplates.Templates.ExecuteTemplate(w,"first.html",nil)

它现在正在工作.但如果有的话,需要一个更好的@L_696_15@案

大佬总结

以上是大佬教程为你收集整理的golang中没有这样的文件或目录错误全部内容,希望文章能够帮你解决golang中没有这样的文件或目录错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。