私は最初のDjangoアプリケーションを作成していて、いくつかのAJAXの問題に直面しています。私のウェブサイトでは、ユーザーは写真のギャラリーを見ることができます。このページにアクセスするには、/photosにアクセスするだけです。写真ビューは、表示する写真を計算し、レンダリングのためにテンプレートに渡します。
ボタンをクリックすると、さらに写真を表示するようにリクエストできます。このボタンをクリックすると、AJAXリクエストがサーバーに送信されます。サーバーは、表示する新しい写真のセットを計算してから、もう一度同じテンプレートに写真を渡して表示します。唯一の問題は、画面上の写真が変更されないことです。
サーバーによって新しい写真が計算されていることを確認しました。残念ながら、起こるべき多くのことが実際には起こりません。何よりもまず、Chrome開発者ツールを使用すると、写真ファイルがサーバーからブラウザーに送信されることはないことがわかります。さらに、DOMは新しい写真を参照するためにsrc属性を更新することはありません。これらのことを実現するために私は何をする必要がありますか?
ありがとうございました。
編集:
いくつかのコード:
#The python view summarized
def photos:
photoList = GetListOfPhotos() #Returns photo objects. These objects have a file field which is access from the template.
return render(request,
'photos.html',
{'photoList': photoList},
context_instance=RequestContext(request)
)
#AJAX request
$(document).ready(function(){
$("#right-arrow").click(function(event) {
$.post("/photos/", {"arrow" : "right"
});
});
});