Go の HTML/テンプレートでのベース テンプレート ファイルの使用
Web 開発では、ベース レイアウト テンプレートを使用すると、複数のページにわたる一貫性を維持するのに役立ちます。 Go の HTML/テンプレートでこの手法を使用する方法を理解しましょう。
たとえば、次の 3 つのファイルがあるとします。
base.html: 基本レイアウト ファイル
<!DOCTYPE html> <html lang="en"> <body> header... {{template "content" .}} footer... </body> </html>
page1.html: "/page1" のページ テンプレート
{{define "content"}} <div> <h1>Page1</h1> </div> {{end}} {{template "base.html"}}
page2.html: " /page2"
{{define "content"}} <div> <h1>Page2</h1> </div> {{end}} {{template "base.html"}}
問題は、"/page1" と "/page2" の両方が現在同じテンプレート ファイル "page2.html" を使用していることです。
「base.html」レイアウト テンプレートを使用する場合は、「コンテンツ」テンプレートと「ベース」テンプレートの両方を一緒に解析する必要があります。これは、ParseFiles と ExecuteTemplate を使用して実現されます。
base.html (更新):
{{define "base"}} <!DOCTYPE html> <html lang="en"> <body> header... {{template "content" .}} footer... </body> </html> {{end}}
page1.html (更新):
{{define "content"}} I'm page 1 {{end}}
page2.html (更新):
{{define "content"}} I'm page 2 {{end}}
使用法:
tmpl, err := template.New("").ParseFiles("page1.html", "base.html") // handle error err = tmpl.ExecuteTemplate(w, "base", yourContext)
これはレンダリングされます基本レイアウト テンプレート内の適切なコンテンツ。たとえば、「/page1」をレンダリングする場合、コンテンツ「I'm page 1」はベース テンプレートの {{template "content. ."}} セクションに組み込まれます。
以上がGo の HTML/テンプレートでベース テンプレート ファイルを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。