Heim >Backend-Entwicklung >Golang >Wie funktionieren Basisvorlagen in Golang HTML/Template?

Wie funktionieren Basisvorlagen in Golang HTML/Template?

DDD
DDDOriginal
2024-11-08 11:00:02461Durchsuche

How do Base Templates Work in Golang HTML/Template?

Verwendung von Basisvorlagen in Golang HTML/Template

In Ihrem gegebenen Szenario stehen Sie vor einem Missverständnis bezüglich der Verwendung von Basisvorlagen. Das Problem liegt in Ihrer Annahme, dass die Seiten 1 und 2 dieselbe Vorlage verwenden, obwohl sie in Wirklichkeit auf dieselbe Basisvorlage verweisen und eindeutige Inhaltsabschnitte definieren.

Kanonische Verwendung von Basisvorlagen

Um Basisvorlagen effektiv zu nutzen, befolgen Sie diese Schritte:

  1. Definieren Sie mehrere Vorlagen: Erstellen Sie eine Basisvorlage (z. B. base.html), die das gemeinsame Layout enthält Ihrer Website. Definieren Sie bestimmte Inhaltsabschnitte innerhalb dieser Basisvorlage mit {{define "content"}}.
  2. Inhaltsvorlagen erstellen: Erstellen Sie für jede einzelne Seite Ihrer Website separate Vorlagen (z. B. Seite1. html, Seite2.html). Definieren Sie innerhalb dieser Vorlagen den Inhalt, der im Abschnitt „Inhalt“ der Basisvorlage angezeigt werden soll, indem Sie {{define „content“}} verwenden.
  3. Basisvorlage einbeziehen: In jeder Inhaltsvorlage , weisen Sie die Vorlagen-Engine an, die Basisvorlage mithilfe von {{template „base.html“}} einzuschließen. Dadurch wird sichergestellt, dass das Basislayout als Rahmen für jede Seite verwendet wird.

Beispielimplementierung

Unten finden Sie eine Beispielimplementierung basierend auf Ihrem bereitgestellten Code:

base.html

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

header...

{{template "content" .}}

footer...

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

page1.html

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

page2.html

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

Vorlagenanalyse und -ausführung
Sobald Ihre Vorlagen definiert sind, können Sie sie mit template.New("").ParseFiles(page1.html, base.html analysieren )) und führen Sie sie mit tmpl.ExecuteTemplate(w, "base", yourContext) aus.

Das obige ist der detaillierte Inhalt vonWie funktionieren Basisvorlagen in Golang HTML/Template?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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