0

Django の哲学は、Web アプリケーションを再利用可能にすることです。しかし、異なる Web アプリケーション間でテンプレートの調和を実現するにはどうすればよいでしょうか。

以下は架空の例です。OpenID対応のサインオンにwebapp 1 (例: django_openid ) を再利用したいと考えています。顧客の招待に webapp 2 (例: django notifications app )を再利用したい。統計用に独自のアプリ (MTV) を作成したい

しかし、それらのテンプレートは通常、単一のプロジェクトに属しているようには見えません。既存の作業 (上記の架空の例の Web アプリ 1 と Web アプリ 2) を最小限の作業で再利用するにはどうすればよいですか?

4

2 に答える 2

3

「侵入的」とは、再利用可能なアプリ内でファイルを編集することを意味すると思います。

まったく邪魔になることなく、プロジェクト レベルのテンプレート ディレクトリにテンプレートを配置するか、独自のアプリで一致する名前のテンプレートを提供することで、再利用可能なアプリのテンプレートをオーバーライドできる必要があります。

Django テンプレートの読み込みは完全に構成可能ですが、デフォルトでは、最初に設定で名前が付けられたディレクトリが検索されTEMPLATE_DIRS、次にtemplatesインストールされている各アプリのディレクトリが表示される順序で検索されます。INSTALLED_APPS の openid または Invitation の前にアプリを配置すると、指定されたテンプレートの代わりにカスタム テンプレートが読み込まれます。

場合によっては、プロジェクト用の「アプリ」を作成しましたが、これは実際には空の models.py とテンプレートのコレクションです。次に、サイト ベース テンプレートと、他のアプリからオーバーライドされたすべてのテンプレートを格納する場所を用意します。

于 2013-01-24T03:39:09.383 に答える
1

にはdjango invitation app、ほとんどの再利用可能なアプリと同様に、使用法セクションを含むドキュメントがあります。これにより、プロジェクトでアプリを再利用する方法が説明されます。

django_openidreadme によると、「まだ準備ができていない」ように見えるため、使用するにはコードを少し掘り下げる必要があります。

一般に、再利用しようとしているアプリのドキュメントにアクセスし、使用法/実装セクションを探します。

于 2013-01-24T02:38:55.360 に答える