ホームページ >バックエンド開発 >Golang >Jin Web アプリケーションはテンプレートを 1 つだけレンダリングします

Jin Web アプリケーションはテンプレートを 1 つだけレンダリングします

WBOY
WBOY転載
2024-02-13 11:30:15920ブラウズ

Gin Web 应用程序仅渲染一个模板

Gin は、Go 言語の Web 開発で広く使用されている軽量の Web フレームワークです。 Jin では、Web アプリケーションは通常、テンプレートをレンダリングするだけでページの表示を完了できます。この設計により、開発者はビジネス ロジックの実装により集中できるようになり、開発プロセスが簡素化されます。 PHP エディターの Xiaoxin の意見では、Gin のこの機能は開発効率を向上させるだけでなく、リソースの使用量を削減し、Web アプリケーションをより効率的にします。同時に、Gin は豊富なミドルウェアとプラグインも提供し、開発者にさらなる拡張性と柔軟性を提供します。つまり、Gin はそのシンプルさと強力な機能により、多くの開発者にとって好ましいフレームワークとなっています。

質問の内容

一連のセクションと基本テンプレートに基づく複数の HTML テンプレートを含む Jin Web アプリケーションがあります。基本テンプレートは関連部分で問題なくレンダリングされているようですが、メインのビュー、ログイン、インデックス、登録が期待どおりにレンダリングされません。これらのいずれかの HTTP エンドポイントにアクセスすると、登録ビューのみが表示されます。

次のファイルに欠落または設定ミスがあるため、ルートが要求されたページをレンダリングできませんか?

私のプロジェクトは次のような構造になっています。

リーリー

base.tmpl.html

リーリー

Register.tmpl.html

リーリー

index.tmpl.html (ログインの構造はこれら 2 つと同じです。)

リーリー

HTML テンプレートは、embed.FS を使用してバイナリにバンドルされています。

リーリー

ページはアプリケーション ルートでレンダリングされます。ここでの参照は、*.tmpl.html ファイルのファイル名にマップされます。

├── app
...
│   ├── handlers
│   │   ├── general
│   │   │   └── general.go
│   │   └── routes.go
│   ├── main.go
│   ├── reloadDev.sh
│   ├── static
│   │   ├── css
│   │   ├── img
│   │   └── js
│   └── templates
│       ├── home
│       │   ├── index.tmpl.html
│       │   ├── login.tmpl.html
│       │   └── register.tmpl.html
│       ├── layouts
│       │   └── base.tmpl.html
│       └── partials
│           ├── footer.tmpl.html
│           ├── head.tmpl.html
│           └── navbar.tmpl.html

回避策

この問題に遭遇した他の人のために。コメントで mkopriva が指摘した解決策は正しいです。 base.tmpl.html を削除し、更新されたセクションとターゲット ページを使用して各ビューを構成しました。

###タイトル### リーリー

フッター

リーリー

問題のあるページ

リーリー

以上がJin Web アプリケーションはテンプレートを 1 つだけレンダリングしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。