0

リクエストライブラリを使用してWebサービスを呼び出すアプリケーションがあります。djangoでは、テーブルを使用して、標準のdjango_sessionライブラリを使用してセッションを維持します。

Requestsライブラリが呼び出しを開始するたびに、データベースに新しいレコードがあることに気付きました。私はリクエストセッションを(明示的に)使用しておらず、ほとんどの呼び出しは単一のGET呼び出しであり、いかなる種類の永続性も必要としないため、これは非常に奇妙だと思います。

他の誰かがこの問題を抱えていましたか?

4

2 に答える 2

2

django.contrib.sessions.middleware.SessionMiddlewareリクエストごとに新しいセッションを作成します。

この動作を無効にする場合は、拡張するが、不要なインスタンスでセッションが作成されないようdjango.contrib.sessions.middleware.SessionMiddlewareにするカスタムミドルウェアに置き換えることを検討してください。django.contrib.sessions.middleware.SessionMiddleware

この回答は、その方法の例を示しています。セッションを作成する必要があるかどうかを判断するために解析request.path_infoしますが、post変数など、リクエストにカスタムヘッダーを追加するなど、さまざまな手法を使用できます。

于 2012-10-25T15:35:08.017 に答える
1

この設定をオンにしていたことがわかりました

SESSION_SAVE_EVERY_REQUEST=True

私がセッションを始めたとき、私は何も隙間から落ちないことを確実にするために安全になりたかった。これは、空のセッション情報をデータベースに書き込んでいたことがわかりました。

于 2013-06-07T07:02:46.213 に答える