Heim > Backend-Entwicklung > Golang > Golang Fiber c. Das Rendering-Layout erzwingt keine korrekten Vorlagen

Golang Fiber c. Das Rendering-Layout erzwingt keine korrekten Vorlagen

WBOY
Freigeben: 2024-02-09 13:54:18
nach vorne
1083 Leute haben es durchsucht

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

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
Nach dem Login kopieren

在我的 layout.html 中,我有

<!doctype html>
<html lang="en">
<head>
</head>
<body>
    <h1>loaded from layout</h1>
  {{ template . }}
</body>
</html>
Nach dem Login kopieren

在我的 dashboard.html

{{ define "dashboard" }}
    <h1>dashboard</h1>
{{ end }}
Nach dem Login kopieren

在我的login.html

{{ define "login" }}
    <h1>login</h1>
{{ end }}
Nach dem Login kopieren

当我通过控制器渲染仪表板时,它只加载login.html,它总是获取最后一个html文件

// controller

func dashboard(c *fiber.ctx) error {
    return c.render("dashboard", fiber.map{
        "title": "login | selectify admin",
    }, "partials/layout")
}
Nach dem Login kopieren

在主文件中我已经告诉了在哪里可以找到视图

//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)
        },
    })
Nach dem Login kopieren

出现错误 “模板:“partials/layout”是不完整或空的模板” 如何使用一种布局发送或渲染正确的 html 文件?

go版本1.19 第五版 2 “github.com/go fiber/template/html”

解决方法

找到答案了, 我们必须使用 {{embed}} 而不是模板,然后它将包含您从控制器传递的正确模板

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <h1>Loaded from Layout</h1>
  {{ embed  }}
</body>
</html>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonGolang Fiber c. Das Rendering-Layout erzwingt keine korrekten Vorlagen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage