少し明確にするために前の質問を削除しました。
私はDjangoで動くウェブサイトと動的に取り込まれたテーブルを持つテンプレートを持っています。
テンプレート:
<table id = 'my_table'>
<thead>
......
</thead>
<tbody>
</tbody>
</table>
Javascriptを
$(function()
{
refresh_vendors_list_table();
});
function refresh_vednors_list_table()
{
$.get("/ajax_refresh_vendors_list_table/", function(response)
{
$('#my_table').find('tbody').html(response);
});
}
ビュー:テーブル(vendors_list_paginator.html)用
def ajax_refresh_vendors_list_table(request):
template = 'vendors/vendors_list_paginator.html'
vendors_qs = vendors_qs.filter(...)
context = {'vendors_qs':vendors_qs}
return render_to_response(template,
context,
context_instance=RequestContext(request))
テンプレート
{% load el_pagination_tags %}
{% paginate vendors_qs %}
{% for vendor in vendors_qs %}
<tr>
......
</tr>
{% endfor %}
{% show_more_table %}
テーブルの各行を押すと、対応するベンダーのプロファイルにリダイレクトされます。プロフィールを編集した後、私は戻るボタンを押して、再びテーブルページに戻ります。私は(対応するDjangoのビューは呼び出されません。この段階で、私は非常に奇妙な行動が$.get
機能で観察され
(のは、それがをブレークポイント呼びましょう)私もtemplate = 'vendors/vendors_list_paginator.html'
にブレークポイントを置く$.get("/ajax_refresh_vendors_list_table/", data, function(response)
のデバッグを開始します私のアプリがbreakpoing Aで停止するのを見ないでください)、そして$('#my_table').find('tbody').html(response);
は、$ .get関数が正常に実行されるかのように直接実行されます。言い換えれば
、$のに.get機能は、サーバー側のいずれかの参加なしに実行される(Iは、任意の単語を強調しています。最初は私は多分、私がのURLconfファイルや他のいくつかのビューが呼ばれた台無しにすることを考えた。へこれをチェックして、ブラウザの戻るボタンを押す前にDjango IDEコンソールをクリアしてから、Django IDEコンソールで何も見なかったので、$ .get要求は何も表示されずに正常に実行されました!!!) ページネーションと関係がありますか?私は完全に失われています。助けてください ! Sardorbekの答えを1として
UPDATE
、私は... ajax_refresh_vendors_list_table
@require_http_methods(["GET"])
@never_cache
def ajax_refresh_vendors_list_table(request):
...
でこのURLをラップしようと、それはあなたのブレークポイントで停止していますか? –
ブラウザのコンソールを見て、jsにブレークポイントを置いてみてください。あなたの 'data'変数はどこから来ているのでしょうか? –
Hm ...あなたのブラウザがこのリクエストをキャッシュしているようです。 https://docs.djangoproject.com/en/1.9/topics/http/decorators/#django.views.decorators.cache.never_cacheでこのURLをラップしようとしています –