0

タブナビゲーションを備えたdjangoアプリを構築しています。タブをクリックすると、ページの中央部分のみが変更され、残りは同じままです。また、誰かがタブをクリックしてロードされたときに、そのスペースに一種のロードシグナルを配置したいと考えています。django テンプレートが機能するかどうか、または jquery を使用する必要があるかどうかを助けてください。

4

2 に答える 2

1

ローディング信号を無視して、目的の結果を達成する方法はいくつかあります。

javascript/jquery を使用せずに

クリックされる各タブは、完全なページの読み込みを行います。Django テンプレートを使用して画面の共通部分を埋めることができ、クリックしたタブに応じて中央をレンダリングできます。重複を避けるために、テンプレートの継承を使用できます。JavaScript の助けがなければ、新しいタブがクリックされた後のページのリロード中にシグナルを表示することができない場合があります。

jqueryの使用

jquery を使用すると、AJAX を使用して、クリックしたばかりのタブのページ コンテンツをサーバーから要求できます。Django からの AJAX リクエストの一部としてどのデータを提供するかは、あなた次第です。

Django にデータの JSON 表現を提供させることを選択できます。コンテンツは、書式設定を行う JavaScript ライブラリによってクライアント側で処理されます。この場合、テンプレートは必要ありません。

または、DOM クライアント側に挿入するだけでレンダリングされた HTML として各タブのデータを Django に提供させることもできます。この場合、おそらく Django テンプレートを使用してタブの HTML データをフォーマットします。

JavaScript オプションのいずれかを使用して、適切な読み込みシグナルを表示する読み込み関数にイベント ハンドラーをアタッチすることができます。

概要

jqueryとテンプレートのどちらを使用するかという質問への回答は? 場合によります。両方を使用することもできます。

于 2013-01-22T11:08:04.567 に答える
0

私のDjangoアプリケーションにも同じタブの概念を実装しています:)、

これを実現するには、jQuery を使用する必要があります。このlink1link2は、いくつかのアイデアを提供します。

クリックされたタブのコンテンツのみをロードする場合は、Jquery クリック イベントと Ajax 呼び出しを使用して、これを参照してください

于 2013-01-22T10:59:55.363 に答える