2012-01-16 9 views
0

DjangoネイティブサポートがDOMで変更されているのだろうかと思います。私はそれが今それのための正しい名前であるかどうかわからないので、私は代わりにそれを説明すると思います。たとえば、私はdjangoでe-shopサイトを作っています。私はバスケットに追加する必要がある製品をクリックすると、htmlにあるかもしれないが、このように見えるかもしれない。製品ごとに新しいものを追加するため、<li></li>が動的に追加されます。私はdjangoでそれをすることはできますか?それともJavascriptを使用する必要がありますか?Django:DOMの変更をサポートしていますか?

<div id="basket"> 
    <ul> 
    <li> 
    // some product 
    </li> 
    </ul> 
</div> 

答えて

1

によって異なります。

1)あなたは非常に動的なアプリケーションにすることができますので、別の要素がページの再読み込みなしにバスケットに表示されます。これは、ajaxリクエスト(あなたのサーバはバスケットにあるものを知る必要があります)とDOM操作(純粋にJavaScript)を組み合わせることで行います。

2)より古典的なアプローチを使用できます。バスケットに要素を追加するのは単なるPOST要求です。 Djangoはリクエストを処理します(セッション中の店舗や現在のバスケットなど)、新しいHTMLを生成します。

Imho、最初のアプローチは、方法が速く、エンドユーザーにとってはよりよく見えます。欠点は、ユーザーがページ全体をリロードしたときに自動的に更新されるいくつかの貴重な情報(例えば、アイテムの価格など)を追跡できないことです。しかし、店舗について話しているなら、これは問題ではありません。どのくらいの頻度で製品データが変更されたのですか?

0

Djangoはネイティブでjavascriptを生成しません。通常の方法は、テンプレート内のページにJavaScriptをインポートすることです。

関連する問題