Golang Fiber是一种高性能的Web框架,被广泛应用于Go语言开发中。然而,有时候在使用Fiber渲染布局时,可能会遇到模板未正确执行的问题。这可能是由于代码中存在错误或配置问题导致的。在本文中,php小编苹果将为您详细解析这一问题,并提供解决方案,帮助您克服这一挑战。无论您是初学者还是有经验的开发者,都能从本文中获得有用的知识和技巧,提升您在Golang Fiber开发中的能力。
问题内容
我正在尝试将一种布局与不同的模板结合使用,
├── main folder
├── cmd
└── main.go
├── controllers
├── models
├── views
└── partials
└── layout.html
└── index.html
└── dashboard.html
└── login.html
└── public
└── sample.png
在我的 layout.html
中,我有
loaded from layout
{{ template . }}
在我的 dashboard.html
{{ define "dashboard" }}
dashboard
{{ end }}
在我的login.html
{{ define "login" }}
login
{{ end }}
当我通过控制器渲染仪表板时,它只加载login.html,它总是获取最后一个html文件
// controller
func dashboard(c *fiber.ctx) error {
return c.render("dashboard", fiber.map{
"title": "login | selectify admin",
}, "partials/layout")
}
在主文件中我已经告诉了在哪里可以找到视图
//main.go
// create a new HTML engine
template_engine := html.New(
"./views",
".html",
)
// create a new Fiber app
app := fiber.New(fiber.Config{
Views: template_engine, // set the views engine
ErrorHandler: func(c *fiber.Ctx, err error) error {
return utils.HandleError(c, err)
},
})
出现错误 “模板:“partials/layout”是不完整或空的模板” 如何使用一种布局发送或渲染正确的 html 文件?
go版本1.19 第五版 2 “github.com/go fiber/template/html”
解决方法
找到答案了, 我们必须使用 {{embed}} 而不是模板,然后它将包含您从控制器传递的正确模板
Loaded from Layout
{{ embed }}
以上就是Golang Fiber c.渲染布局未执行正确的模板的详细内容,更多请关注编程网其它相关文章!