Maison >développement back-end >Golang >Comment les modèles de mise en page de base peuvent-ils être utilisés efficacement avec Go HTML/Template ?

Comment les modèles de mise en page de base peuvent-ils être utilisés efficacement avec Go HTML/Template ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-08 17:58:02299parcourir

How can Base Layout Templates be Effectively Used with Go HTML/Template?

Utilisation de modèles de mise en page de base dans Go HTML/Template

Dans le code fourni, le problème réside dans l'utilisation inappropriée des fichiers de modèle de base. Pour résoudre ce problème, nous devons définir un fichier de modèle de base et le référencer dans nos modèles partiels, qui seront exécutés dynamiquement.

Modèle de base (base.html) :

Ce fichier définit la présentation générale de la page, y compris les éléments partagés sur toutes les pages, tels que l'en-tête, le pied de page et la navigation.

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

  {{template "content" .}}

  <!-- Footer -->
</body>
</html>
{{end}}

Modèle partiel 1 (page1.html) :

Ce fichier définit le contenu spécifique à la page 1.

{{define "content"}}
<h1>Page 1</h1>
{{end}}
{{template "base"}}

Modèle partiel 2 (page2.html) :

Ce fichier définit le contenu spécifique à la page 2.

{{define "content"}}
<h1>Page 2</h1>
{{end}}
{{template "base"}}

Utilisation :

Pour utiliser le modèle de base, analysez les fichiers contenant les modèles de base et de contenu :

tmpl, err := template.ParseFiles("page1.html", "base.html")
if err != nil {
    // Handle error
}

Ensuite, exécutez le modèle avec un contenu spécifié :

err = tmpl.ExecuteTemplate(w, "base", yourContext)
if err != nil {
    // Handle error
}

Cela restituera le contenu approprié dans la mise en page 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:
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