golang中没有这样的文件或目录错误

2024-04-07

我想在我的 golang 控制器之一中指定一个 html 模板 我的目录结构是这样的

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

我想为请求 /new 加载first.html。我已将 NewHandler 用于 url /new ,当 /new 请求到来并位于controller.go 中时,NewHandler 函数正在执行。这是我的代码

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 方法中我删除了 //Templates用来存放所有的Template var 模板 *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)

它现在正在工作。但需要更好的解决方案(如果有)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

golang中没有这样的文件或目录错误 的相关文章

随机推荐

  • 外部模块中的 Rails Resque 未定义方法错误

    我在从 resque 工作线程中包含的模块调用方法时遇到问题 在下面的示例中 当我尝试调用时 我不断收到未定义的方法错误sayWorker 内部的方法 位于 TestLib 模块中 我已将代码简化为最基本的内容来说明问题 控制器 app c
  • 在 IIS 上运行 .NET Core

    我尝试在本地计算机上设置 IIS 来运行 NET Core API 我跟着https learn microsoft com en us aspnet core publishing iis https learn microsoft co
  • Mathematica:MathLink 错误消息

    我想我开始理解如何将用 C C 编写的函数链接到数学 我面临的问题是我不知道如何将错误消息从我的 C 包装器发送到 Mathematica 在谷歌搜索后我发现了这个MathLink 教程 http www edenwaith com dev
  • Oracle 和 SQL Server 保留关键字

    我需要 Oracle Database 10g 和 SQL Server 2008 保留关键字的列表 我的应用程序执行 DDL 语句 因此我需要根据保留字验证输入的表名 列名等 我知道我可以复制并粘贴网站上的文字 甲骨文10g http d
  • C# - 从串口缓冲区读取

    我正在尝试从 RS 232 端口读取数据 有谁有一个例子说明我如何从端口 缓冲区获取数据并确保我拥有所有数据 因为它可以是多行数据 我只是简单地读如下吗 string Rxstring port ReadLine Console Write
  • AdSense/发布商相关指标的 Google.Apis.Requests.RequestError

    从昨天开始 我们无法从 Analytics API 获取 AdSense 相关指标的数据 ga adsensePageImpressions ga adsenseAdsViewed ga adsenseCoverage 等 其他指标如GA
  • 有没有简单的方法来安装 RMagick?

    我正在尝试在我的 slicehost 上安装 RMagick Linux Hardy 我没有从源代码编译 而是这样做 sudo aptitude install y imagemagick sudo aptitude install y l
  • QVD 文件到 pandas DataFrame

    我尝试使用此将 QVD 文件加载到 pandas 数据框tool https github com korolmi qvdfile如下面的脚本所示 问题是它工作完美 但没有优化 而且它只提供了一种通过索引获取行的方法 这就是我被迫使用 fo
  • 从车把助手返回 html 对象

    我需要从车把助手发送一个 html 对象 如下所示 Handlebars registerHelper helper function Create an input object var inp
  • 在 WinForms 应用程序中渲染 HTML 的最佳方法? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我有一个 WinForms 应用程序 在 net 3 5 上运行 该应用程序动态生成 HTML 其中包括完整的文档以及内联 CSS 样式表 在
  • 在特定时间段内使用 JavaScript 更改 HTML 元素的背景颜色?

    我有大约 26 个 html 元素 我希望它们在 JavaScript 中具有以下效果 有可能做这样的事情吗 我试图这样做 var j 2000 for i 1 i lt 26 i setInterval function document
  • Arquillian 测试在 JBoss eap 6.1 上失败(但在 JBoss 7.1.1 上工作)

    我在 JBoss eap 6 1 服务器上运行 arquillian 测试 由 jenkins 作业启动 时遇到问题 在 JBoss 7 1 1 服务器上运行测试没有问题 但是当我切换到 eap 6 1 时 所有测试都会出现以下异常 jav
  • 如何让一个特性既可以读又可以写?

    我知道一个特征只能有一个属性和一个权限 并且该属性必须与权限具有相同的值 例如如果特征具有写入权限 则它必须具有可写的属性 那么如何使特征可读且可写 e g 怎么转这个 int permission BluetoothGattCharact
  • 如何进行 TCP 打孔?

    问题如下 这是我当前的测试代码 但没有成功 static void Main string args if args Count 3 Console WriteLine Bad args var ep new IPEndPoint IPAd
  • Symfony2 会话闪存与树枝中的 if 子句不起作用

    我尝试对设置的会话闪存做出反应 但总是得到其他路径 交响乐2 1 3 控制器 this gt get session gt getFlashBag gt set contactActionNoticeError Message not se
  • 数据视图和数据表有什么区别?

    NET 中的 DataView 和 DataTable 有什么区别 据我了解 DataView只是DataTable的错误呈现 我什么时候应该使用 DataView 当您想要运行查询并在控件中显示数据子集时 DataView 可以帮助您 这
  • 无法连接 x 代码 (\x) - PHP

    我正在寻找使用 unpack 这有效 srbytes x80 x3e x00 x00 array1 unpack v srbytes 这不会 num1 80 srbytes x num1 x3e x00 x00 array1 unpack
  • 如何在不使用 input 元素的情况下捕获 Vuejs 中的任何按键事件

    我正在制作一种游戏 我希望用户输入特定的单词 然后我想检查是否按下了特定的单词 如果按下该单词 我将获取下一个单词 目前我正在使用表格并使用过v model如下图所示
  • 如何获取某个Realm对象在Results中的索引?

    这是一个例子 class Person Object dynamic var id dynamic var name does this work let sortedPeople realm objects Person sorted i
  • golang中没有这样的文件或目录错误

    我想在我的 golang 控制器之一中指定一个 html 模板 我的目录结构是这样的 Project com src controller contoller go view html first html 我想为请求 new 加载firs