jQueryタブをクリックしてアクティブなタブを保存するたびにセッションの値を更新する次のRESTメソッドがあります。
@csrf_exempt
def update_active_tab_request(request):
"""
Stores the active tab for a given tab item
"""
for tab, active in request.GET.iteritems():
request.session[tab] = int(active)
return HttpResponse("OK", status=200)
これはかなり単純なルーチンであり、私が抱えている問題は、値が常にセッションに格納されるとは限らないということです。Webサーバーのログを表示し、ログステートメントを散在させて、コードが呼び出されていることを確認しました。すべてが機能しているように見えますが、このメソッドが戻ったときにセッションが更新されていない可能性があることがわかりました。
セッションの更新に伴うパフォーマンス/同期の問題である可能性があると考えて、セッションストレージをに変更しましSESSION_ENGINE='django.contrib.sessions.backends.cache'
た。それは役に立ちませんでした。SESSION_SAVE_EVERY_REQUEST=True
また、常にセッションを保存するように設定しました。これも役に立たなかった。
私はこの振る舞いを説明するのに途方に暮れています。問題に光を当てるのに助けがあれば大歓迎です。