0

何が原因かわかりません。

私の開発マシンでは、まったく同じ 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))

その後の呼び出しでは、キャッシュされたキーが利用できないことが常に表示されます。

4

0 に答える 0