Maison > développement back-end > Golang > Comment utiliser les fichiers de modèle de base dans le HTML/modèle de Go ?

Comment utiliser les fichiers de modèle de base dans le HTML/modèle de Go ?

DDD
Libérer: 2024-11-07 11:12:03
original
1139 Les gens l'ont consulté

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

Utilisation des fichiers de modèle de base dans le modèle HTML/Go de Go

Dans le développement Web, l'utilisation de modèles de mise en page de base permet de maintenir la cohérence sur plusieurs pages. Comprenons comment utiliser cette technique dans le HTML/Template de Go.

Par exemple, disons que nous avons trois fichiers :

base.html : Le fichier de mise en page de base

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

header...

{{template "content" .}}

footer...

</body>
</html>
Copier après la connexion

page1.html : Un modèle de page pour "/page1"

{{define "content"}}
<div>
    <h1>Page1</h1>
</div>
{{end}}
{{template "base.html"}}
Copier après la connexion

page2.html : Un modèle de page pour " /page2"

{{define "content"}}
<div>
    <h1>Page2</h1>
</div>
{{end}}
{{template "base.html"}}
Copier après la connexion

Le problème est que "/page1" et "/page2" utilisent actuellement le même fichier modèle, "page2.html."

Pour utiliser le " base.html", vous devez analyser les modèles "contenu" et "base" ensemble. Ceci est réalisé à l'aide de ParseFiles et ExecuteTemplate.

base.html (mis à jour) :

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

header...

{{template "content" .}}

footer...

</body>
</html>
{{end}}
Copier après la connexion

page1.html (mis à jour) :

{{define "content"}}
I'm page 1
{{end}}
Copier après la connexion

page2.html (Mise à jour) :

{{define "content"}}
I'm page 2
{{end}}
Copier après la connexion

Utilisation :

tmpl, err := template.New("").ParseFiles("page1.html", "base.html")
// handle error
err = tmpl.ExecuteTemplate(w, "base", yourContext)
Copier après la connexion

Cela rendra le contenu approprié dans le modèle de mise en page de base. Par exemple, lors du rendu de "/page1", le contenu "Je suis la page 1" sera incorporé dans la section {{template "content. ."}} du modèle de base.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal