Serat Golang c. Susun atur rendering tidak menguatkuasakan templat yang betul

WBOY
Lepaskan: 2024-02-09 13:54:18
ke hadapan
1046 orang telah melayarinya

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

Golang Fiber ialah rangka kerja web berprestasi tinggi yang digunakan secara meluas dalam pembangunan bahasa Go. Walau bagaimanapun, kadangkala apabila menggunakan Fiber untuk membuat reka letak, anda mungkin menghadapi masalah apabila templat tidak dilaksanakan dengan betul. Ini mungkin disebabkan oleh pepijat dalam kod atau isu konfigurasi. Dalam artikel ini, editor PHP Apple akan menganalisis masalah ini secara terperinci dan menyediakan penyelesaian untuk membantu anda mengatasi cabaran ini. Sama ada anda seorang pemula atau pembangun yang berpengalaman, anda boleh mendapatkan pengetahuan dan kemahiran yang berguna daripada artikel ini untuk meningkatkan keupayaan anda dalam pembangunan Golang Fiber.

Kandungan soalan

Saya cuba menggunakan reka letak dengan templat yang berbeza,

├── main folder
   ├── cmd
        └── main.go
   ├── controllers
   ├── models
   ├── views
        └── partials
            └── layout.html
        └── index.html
        └── dashboard.html
        └── login.html
   └── public
        └── sample.png
Salin selepas log masuk

Dalam layout.html saya saya ada

<!doctype html>
<html lang="en">
<head>
</head>
<body>
    <h1>loaded from layout</h1>
  {{ template . }}
</body>
</html>
Salin selepas log masuk

Dalam dashboard.html

saya
{{ define "dashboard" }}
    <h1>dashboard</h1>
{{ end }}
Salin selepas log masuk

Dalam login.html

saya
{{ define "login" }}
    <h1>login</h1>
{{ end }}
Salin selepas log masuk

Apabila saya memaparkan papan pemuka melalui pengawal, ia hanya memuatkan login.html dan ia sentiasa mendapat fail html terakhir

// controller

func dashboard(c *fiber.ctx) error {
    return c.render("dashboard", fiber.map{
        "title": "login | selectify admin",
    }, "partials/layout")
}
Salin selepas log masuk

Dalam fail utama saya sudah memberitahu di mana untuk mencari paparan

//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)
        },
    })
Salin selepas log masuk

Ralat berlaku "Templat: 'separa/susun atur' ialah templat yang tidak lengkap atau kosong" Bagaimana untuk menghantar atau membuat fail html yang betul menggunakan satu susun atur?

go versi 1.19 edisi kelima 2 "github.com/go fiber/template/html"

Penyelesaian

Saya jumpa jawapannya, Kami perlu menggunakan {{embed}} dan bukannya templat, maka ia akan mengandungi templat yang betul yang anda hantar daripada pengawal

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <h1>Loaded from Layout</h1>
  {{ embed  }}
</body>
</html>
Salin selepas log masuk

Atas ialah kandungan terperinci Serat Golang c. Susun atur rendering tidak menguatkuasakan templat yang betul. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!