Go テンプレートでのリクエスト コンテキストの受け渡し
Go HTML テンプレートでは、実行をトリガーしたリクエストの情報にアクセスするのは簡単ではありません。これは、ユーザーが管理者であるかどうかを判断するなど、ユーザー属性に基づいて条件付きロジックを適用する必要がある場合に問題になる可能性があります。
この課題に対処するには、データ パイプライン メカニズムを利用することをお勧めします。リクエスト コンテキストをテンプレート データ構造に埋め込むことで、テンプレート内のリクエスト固有の情報にアクセスできます。
たとえば、ユーザーがアクセスした場合にのみ、制限付きの「中核ボタン」へのリンクを表示したいとします。管理者です。この場合、テンプレート データを次のように構造化できます。
<code class="go">type TemplateData struct { Content *Content Context *Context IsUserAdmin bool }</code>
テンプレート内で、IsUserAdmin 変数を使用して条件付きでリンクを表示できます。
<code class="html">{{if IsUserAdmin}} <a href="/admin/nuke">Go to the big red nuclear button</a> {{end}}</code>
このアプローチビューにロジックを混ぜることなく、リクエスト固有の情報をテンプレートに効果的に渡します。これにより、アプリケーション ロジックを処理するコントローラーとレンダリングを処理するテンプレートの間の分離を維持できます。
以上がGo テンプレートでリクエスト コンテキストにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。