2012-03-20 14 views
0

POST(ajax)リクエスト後にページを再レンダリングする方法がわかりません。私はそれを正しくする方法を知りたいので、私は悪いデザインの習慣に陥ることはありません。POST後のDjangoレンダリングリクエスト

レンダリングページ - > Ajax - > ??

Views.py

def searchform(request): 

    if request.method == 'POST': 
     #Do stuff with request.POST 
     return render(request, 'sameapp/anotherpage.html', my_dict) 

    else: 
     return render(request, 'sameapp/thispage.html') 

で私のAJAX POSTが成功しました。 Firebugコンソールでは、新しいページ(anotherpage.html)が適切なデータでレンダリングされます。ただし、ページがリダイレクトされていません。この場合、適切なパターンは何でしょうか(redirect_to?)。 POSTリクエスト後に適切なデータでanotherpage.htmlをロードしたい。

+0

にあります。別のページをロードしたいのであれば、なぜAJAXを使用していますか? AJAXの全体のポイントは、現在のページにとどまり、サーバーの応答に基づいて現在のコンテンツの一部のみを更新することです。 – nrabinowitz

+0

右 - 新しいテンプレートを読み込んでビューを更新したい。 – user1059105

+3

その後、AJAXは使用しないでください。 –

答えて

0

DjangoとAjaxはそのようには機能しません。

新しいコンテンツにAjaxリクエストのデータを追加する場合は、リダイレクトは必要ありません。単にJavaScriptを使用して現在のページの一部をAjax経由のものに置き換えます。それはあなたが使用しているJSコードに依存します.jQueryの例はhttp://api.jquery.com/jQuery.ajax/

+2

それはそのように動作しないDjangoではありません。純粋でシンプルでないAjaxです。 –

関連する問題