タブナビゲーションを備えたdjangoアプリを構築しています。タブをクリックすると、ページの中央部分のみが変更され、残りは同じままです。また、誰かがタブをクリックしてロードされたときに、そのスペースに一種のロードシグナルを配置したいと考えています。django テンプレートが機能するかどうか、または jquery を使用する必要があるかどうかを助けてください。
2 に答える
ローディング信号を無視して、目的の結果を達成する方法はいくつかあります。
javascript/jquery を使用せずに
クリックされる各タブは、完全なページの読み込みを行います。Django テンプレートを使用して画面の共通部分を埋めることができ、クリックしたタブに応じて中央をレンダリングできます。重複を避けるために、テンプレートの継承を使用できます。JavaScript の助けがなければ、新しいタブがクリックされた後のページのリロード中にシグナルを表示することができない場合があります。
jqueryの使用
jquery を使用すると、AJAX を使用して、クリックしたばかりのタブのページ コンテンツをサーバーから要求できます。Django からの AJAX リクエストの一部としてどのデータを提供するかは、あなた次第です。
Django にデータの JSON 表現を提供させることを選択できます。コンテンツは、書式設定を行う JavaScript ライブラリによってクライアント側で処理されます。この場合、テンプレートは必要ありません。
または、DOM クライアント側に挿入するだけでレンダリングされた HTML として各タブのデータを Django に提供させることもできます。この場合、おそらく Django テンプレートを使用してタブの HTML データをフォーマットします。
JavaScript オプションのいずれかを使用して、適切な読み込みシグナルを表示する読み込み関数にイベント ハンドラーをアタッチすることができます。
概要
jqueryとテンプレートのどちらを使用するかという質問への回答は? 場合によります。両方を使用することもできます。
私のDjangoアプリケーションにも同じタブの概念を実装しています:)、
これを実現するには、jQuery を使用する必要があります。このlink1とlink2は、いくつかのアイデアを提供します。
クリックされたタブのコンテンツのみをロードする場合は、Jquery クリック イベントと Ajax 呼び出しを使用して、これを参照してください