Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Menggunakan Fail Templat Asas dalam HTML/Templat Go?

Bagaimanakah Saya Menggunakan Fail Templat Asas dalam HTML/Templat Go?

DDD
DDDasal
2024-11-07 11:12:031110semak imbas

How Do I Use Base Template Files in Go's HTML/Template?

Menggunakan Fail Templat Asas dalam HTML/Templat Go

Dalam pembangunan web, menggunakan templat reka letak asas membantu mengekalkan konsistensi merentas berbilang halaman. Mari kita fahami cara menggunakan teknik ini dalam HTML/Templat Go.

Sebagai contoh, katakan kita mempunyai tiga fail:

base.html: Fail reka letak asas

<!DOCTYPE html>
<html lang="en">
<body>

header...

{{template "content" .}}

footer...

</body>
</html>

page1.html: Templat halaman untuk "/page1"

{{define "content"}}
<div>
    <h1>Page1</h1>
</div>
{{end}}
{{template "base.html"}}

page2.html: Templat halaman untuk " /page2"

{{define "content"}}
<div>
    <h1>Page2</h1>
</div>
{{end}}
{{template "base.html"}}

Isunya ialah kedua-dua "/page1" dan "/page2" sedang menggunakan fail templat yang sama, "page2.html."

Untuk menggunakan " base.html", anda perlu menghuraikan kedua-dua templat "kandungan" dan "asas" bersama-sama. Ini dicapai menggunakan ParseFiles dan ExecuteTemplate.

base.html (Dikemas kini):

{{define "base"}}
<!DOCTYPE html>
<html lang="en">
<body>

header...

{{template "content" .}}

footer...

</body>
</html>
{{end}}

page1.html (Dikemas kini):

{{define "content"}}
I'm page 1
{{end}}

page2.html (Dikemas kini):

{{define "content"}}
I'm page 2
{{end}}

Penggunaan:

tmpl, err := template.New("").ParseFiles("page1.html", "base.html")
// handle error
err = tmpl.ExecuteTemplate(w, "base", yourContext)

Ini akan dipaparkan kandungan yang sesuai dalam templat reka letak asas. Sebagai contoh, apabila memaparkan "/page1," kandungan "Saya halaman 1" akan dimasukkan ke dalam bahagian {{template "content. ."}} templat asas.

Atas ialah kandungan terperinci Bagaimanakah Saya Menggunakan Fail Templat Asas dalam HTML/Templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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