何が原因かわかりません。
私の開発マシンでは、まったく同じ django プロジェクトが適切に実行されますが、カスタム ミドルウェア コード app_cache_ready() メソッドの運用環境では常に False が返されます。無視してバイパスすると、cache.set はオブジェクトをキャッシュしません。
私の開発環境では runserver を使用してサーバーを起動しますが、本番環境では Apache と mod_wsgi を virtualhost ディレクティブと共に使用します。
何が問題なのか、誰にも手がかりがありますか? 私はすでに成功せずに数時間を費やしました。
前もって感謝します
以下は、再度キャッシュに失敗する単純化されたコードです。
from django.conf import settings
from django.contrib.sites.models import Site
from django.http import HttpResponseRedirect, Http404
from django.core.cache import cache
from django.db.models.loading import app_cache_ready
from django.utils.cache import patch_vary_headers
class MyMiddleware(object):
def process_request(self, request):
key='kuku'
val=cache.get(key)
if not val:
logger.warn('Cached key is not available')
cache.set(key,5)
else:
logger.warn('Cached key is %s' % str(val))
その後の呼び出しでは、キャッシュされたキーが利用できないことが常に表示されます。