Go AppEngine: 自動リロードを備えた階層型テンプレート
質問:
どのように構成すればよいですかGo AppEngine アプリケーションのテンプレート達成:
可能性課題:
解決策:
整理するモジュール構造を備えた Go AppEngine プロジェクト。各パッケージは URL プレフィックスを所有し、独自のテンプレートが含まれています。このアプローチにより、一貫した基本テンプレートを維持し、各パッケージ内でそれを拡張できます。
プロジェクト構造の例:
|-- app.yaml |-- app | +-- http.go |-- templates | +-- base.html +-- github.com +-- storeski +-- appengine +-- products | +-- http.go | +-- templates | |-- list.html | +-- detail.html +-- account |-- http.go +-- templates |-- overview.html |-- notifications.html
各パッケージの http.go ファイルでは、所有する URL のハンドラーを登録します。たとえば、products パッケージは、/products で始まる URL を処理します。
各パッケージ内で、テンプレートを「templates」サブディレクトリに保存し、他のテンプレートが使用できる基本テンプレート (templates/base.html など) を作成します。
開発サーバーでのテンプレートの自動リロードを有効にするには、テンプレートの変更を監視するカスタム関数を実装します。 directory:
func watchTemplates() { ticker := time.NewTicker(1 * time.Second) for range ticker.C { if err := parseTemplates(); err != nil { log.Printf("Error parsing templates: %v", err) } } }
メイン パッケージで、watchTemplates() を呼び出して、テンプレートの変更を定期的にチェックし、再読み込みします。これにより、テンプレートの更新がアプリケーションに自動的に反映されます。
以上がGo App Engine で自動リロードを備えた階層型テンプレートを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。