1

アルバムと写真の2つのセクションからなるアルバム/写真管理用のページがあります。

アルバムが選択された場合、選択されたアルバムを反映するために、画像ブロックをAJAX経由で変更する必要があります。

つまり、レンダリングされた画像ブロックは、アルバムページに提供する必要があり、AJAXソースの独自のビューとして使用できる必要があります。

アルバムページが読み込まれた場合でも、picturesブロックを常にAJAXからレンダリングすることでこれを解決できることは理解していますが、可能であれば、最初のページ読み込み内にデフォルトのアルバム画像を配信したいと思います。そのために、アルバムページビューで画像AJAXビューに使用されているものと同じテンプレートを使用して画像ブロックをレンダリングしたいと思います。

私は、TemplateViewオブジェクト内のtemplate_nameプロパティとしてテンプレートを提供することに精通しているだけです。

include_tagを使用してPictureViewのインスタンスを呼び出し、render_to_responseから必要なデータを引き出すことができると思います(まだ試していませんが、理論を立てているだけです)が、少し汚いようです。この問題に対してもっとエレガントな解決策があるかどうか疑問に思っていますか?

ありがとう!

4

2 に答える 2

2

jQuery、Djangoテンプレート、JSテンプレート、backbone.jsは、これを結び付ける必要があります。

Pagesブロック専用のテンプレートを用意することをお勧めします。このテンプレートをページのDjangoテンプレートに含めます。

動的更新の場合は、 underscore.jsmoustache.jsに含まれているJSテンプレートライブラリを使用します。使用するテンプレートのデミリミタを変更して、djangoと同じにすることができます。

生のPagesブロックテンプレートをjavascriptテンプレートブロックに含めます-djangossiタグを使用します。

django-tastypieを使用して、写真のデータをJSONとして返すAPIを設定します。テンプレートライブラリは、データを使用してJSテンプレートブロックにテンプレートを入力し、PhotoブロックをこのレンダリングされたHTMLに置き換えることができます。backback.jsを使用すると、DOM要素とJSイベントの関連付けが容易になります。

于 2012-10-12T10:15:42.137 に答える
1

あなたの質問を正しく理解していれば、ページのその1つのセクションのみを説明する独自のテンプレートファイルを持つサブセクションで、同じようなことを一度行いました。includeタグを使用してページテンプレートにインクルードしたので、ページがロードされたときにロードされ、更新された値でそのテンプレートをレンダリングし、コンテンツが変更される予定のときにページ上でAJAXに置き換えました。

それはあなたにとっての選択肢ですか?

于 2012-10-12T10:16:03.373 に答える