Web アプリケーションで複雑なレイアウトを操作する場合、他のレイアウトの基盤として機能するベース テンプレートを作成すると便利なことがよくあります。ページ。 Go の html/template パッケージでは、これは {{define}} および {{template}} ディレクティブを使用して実現できます。
ベース レイアウト ファイル (base.html) がある次の例を考えてみましょう。
そして、この基本レイアウトを独自のカスタムで再利用する個別のページ (page1.html と page2.html) content:
発生している問題は、ページ 1 とページ 2 の両方が、page2.html で定義されている同じ HTML をレンダリングに使用していることです。これに対処するには、両方のページが {{template}} ブロック内で独自の一意のコンテンツ セクションを宣言して使用していることを確認する必要があります。
より良い方法は、次に示すように、テンプレート コンテンツを別のファイルで定義することです。以下:
base.html:
page1 .html:
page2.html:
内アプリケーションでは、template.New() と ParseFiles() を使用して、コンテンツ ファイルと基本テンプレート ファイルをテンプレート オブジェクトに解析できます。その後、ExecuteTemplate().
を使用して希望のコンテキストで基本テンプレートを実行することで、最終的な HTML を構築できます。以上がGo の HTML/テンプレート パッケージにベース テンプレートを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。