1

HTMLと一緒にインラインで書かれたスクリプトがたくさんあります。現在、スクリプトを外部ファイルに移動しようとしています。しかし、私のスクリプトのほとんどはdjango変数とif.elseステートメントを使用しています。そのため、これらのスクリプトを外部ファイルに移動することはできません。外部ファイルからロードされたスクリプトでdjangoテンプレート変数/条件を使用することは可能ですか?

4

2 に答える 2

1

あなたが求めているのは、最終的に外部ファイルを「リンク」として保持するためのクライアント側のインクルードです。つまり、メインページが読み込まれ、次に外部コンテンツがすべてクライアント側で読み込まれます。ただし、インクルードをdjangoで処理する必要があります。

Djangoテンプレートはサーバー側でレンダリングされます。つまり、サーバー側のコンテキストで評価する必要があります。メインページは、クライアントに提供するためにインクルードを折りたたむ必要があります。したがって、コンテンツを外部ファイルに保持できることを受け入れれば、求めていることは可能ですが、それらは同じページにレンダリングされます。

それ以外の場合は、JavaScriptで外部ページをロードし、同じコンテキスト情報をサーバーに返し、別のURLエンドポイントを介してテンプレートをレンダリングできるようにするなど、より複雑な処理を行う必要があります。または、セッションデータに依存して、他のURLにそのページを完全に独自にレンダリングさせることもできます。

于 2012-11-22T06:39:01.033 に答える
0

includeを使用しましたか。別のhtmlファイルを作成し、それを親テンプレートに含めます。

キーワード引数を使用して、テンプレートに追加のコンテキストを渡すことができます。

{% include "name_snippet.html" with person="Jane" greeting="Hello" %}
于 2012-11-22T06:26:58.023 に答える