首页 >后端开发 >Golang >Golang Fiber 模板引擎 HTML:渲染:模板不存在

Golang Fiber 模板引擎 HTML:渲染:模板不存在

WBOY
WBOY转载
2024-02-11 12:30:09758浏览

Golang Fiber 模板引擎 HTML:渲染:模板不存在

在Golang开发中,模板引擎是非常重要的一部分,它能够帮助开发者更方便地渲染HTML页面。而Fiber作为Golang的轻量级Web框架,也提供了自己的模板引擎。在使用Fiber的过程中,有时候会遇到"模板不存在"的问题,这个问题可能是由于路径设置不正确或者文件确实不存在所导致。在本文中,php小编柚子将为大家详细解析这个问题的原因,并给出解决方案,帮助大家更好地使用Fiber模板引擎进行HTML渲染。

问题内容

在我的 ubuntu 22.10 digitalocean 服务器上,我正在尝试使用 golang 和 fiber 以及 html 模板引擎。到目前为止很喜欢它。

一切正常,包括 mysql 连接和发送电子邮件。除了一件事。

我不断收到错误渲染:模板索引不存在

文件系统:

├── /gogo
   ├── main
   ├── main.go
   ├── go.mod
   ├── go.sum
   ├── /views
        └── index.html
   └── /public
        └── plaatje.png

我的main.go的代码:

package main

import (
    "fmt"
    "log"
    fiber "github.com/gofiber/fiber/v2"
    "github.com/gofiber/template/html"
)

func main() {
    // initialize standard go html template engine
    template_engine := html.new(
        "./views",
        ".html",
    )

    // start fiber
    app := fiber.new(fiber.config{
        views: template_engine,
    })

    // add static folder
    app.static(
        "/static",  // mount address
        "./public", // path to the file folder
    )

    // endpoint
    app.get("/", func(c *fiber.ctx) error {
        // render index template
        return c.render("index", fiber.map{
            "title": "it works",
            "plat":  "almost",
        })
    })

    log.fatal(app.listen(":9990"))
}

index.html 文件:

<!DOCTYPE html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=Unicode">
    <title>{{.Title}}</title>
</head>
<body>
    <h1>{{.Title}}</h1>
    <p>{{.Plat}}</p>
    <p><img src="./static/plaatje.png"></p>
</body>
</html>

当我在 mac 上本地运行它时,一切正常,并且模板按其应有的方式呈现。

但是在 ubuntu 服务器上,除了模板之外,一切正常,并出现给定的错误:

渲染:模板索引不存在

我尝试在 ubuntu 中更改所有权和权限:没有结果。然而,这对我来说有点盲点,所以这可能仍然是问题......

我尝试修改视图路径(./views、/views、views.etc):没有结果。

我尝试过 return c.render("index.html", fiber.map{: 没有结果。

我错过了什么?

解决方法

查找错误,它会出现在光纤信息框上方。对我来说是这样的:2023/03/12 15:40:58 [警告]:无法加载视图:模板:apply:9:函数“t”未定义。如果您的模板编译,将使用相对路径找到它们。

以上是Golang Fiber 模板引擎 HTML:渲染:模板不存在的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除