登录
首页 >  Golang >  Go问答

Golang Fiber c.渲染布局未执行正确的模板

来源:stackoverflow

时间:2024-03-31 10:09:33 194浏览 收藏

本篇文章向大家介绍《Golang Fiber c.渲染布局未执行正确的模板》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

我正在尝试将一种布局与不同的模板结合使用,

├── 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.渲染布局未执行正确的模板》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>