Django.core.exceptions.ImproperlyConfigured:

时间:2015-03-22 03:11:24

标签: python django caching redis

在基于http://michal.karzynski.pl/blog/2013/07/14/using-redis-as-django-session-store-and-cache-backend/的ubuntu ec2节点上安装redis和django之后,我一直在尝试在命令行试验低级缓存api(https://docs.djangoproject.com/en/1.7/topics/cache/#the-low-level-cache-api

 Python 3.4.0 (default, Apr 11 2014, 13:05:11)
 [GCC 4.8.2] on linux
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import django
 >>> import redis
 >>> from django.core.cache import cache
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/django/core/cache/__init__.py", line 34, in <module>
     if DEFAULT_CACHE_ALIAS not in settings.CACHES:
   File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/django/conf/__init__.py", line 46, in __getattr__
     self._setup(name)
   File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/django/conf/__init__.py", line 40, in _setup
     % (desc, ENVIRONMENT_VARIABLE))
 django.core.exceptions.ImproperlyConfigured: Requested setting CACHES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

我有一个django项目,并将中间件设置为:

MIDDLEWARE_CLASSES = (
    'django.middleware.cache.UpdateCacheMiddleware',    # This must be first on the list
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.cache.FetchFromCacheMiddleware', # This must be last
)

我怎样才能使这个工作?

1 个答案:

答案 0 :(得分:5)

要试验django,您应该使用以下命令运行shell:

python manage.py shell

这将加载项目的设置。