Django среда / проблема настройки: AttributeError: у объекта «Настройки» нет атрибута «USE_REDIS» - PullRequest
0 голосов
/ 28 апреля 2020

Я новичок в установочной среде django и docker.

У меня есть существующий проект django, который необходимо развернуть на локальном сервере. Я настраиваю свою python среду на Windows для Linux Ubuntu 18.04 TLS. Я могу выполнить установку с помощью pipenv. Установлены следующие django пакеты:

Django==3.0.5
django-cors-headers==3.2.1
django-debug-toolbar==2.2
django-environ==0.4.5
django-filter==2.2.0
django-polymorphic==2.1.2
django-storages==1.9.1
djangorestframework==3.11.0

, но когда я запускаю django -admin --version, я получаю ошибку:

AttributeError: объект «Настройки» имеет нет атрибута 'USE_REDIS'

Полная трассировка стека указана ниже:

Traceback (most recent call last):
  File "/home/username/.local/share/virtualenvs/project_code/bin/django-admin", line 8, in <module>
    sys.exit(execute_from_command_line())
  File "/home/username/.local/share/virtualenvs/project_code/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/home/username/.local/share/virtualenvs/project_code/lib/python3.7/site-packages/django/core/management/__init__.py", line 377, in execute
    django.setup()
  File "/home/username/.local/share/virtualenvs/project_code/lib/python3.7/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/username/.local/share/virtualenvs/project_code/lib/python3.7/site-packages/django/apps/registry.py", line 114, in populate
    app_config.import_models()
  File "/home/username/.local/share/virtualenvs/project_code/lib/python3.7/site-packages/django/apps/config.py", line 211, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/mnt/c/Users/test/git_repos/lab/models.py", line 11, in <module>
    from catalystlab.data.models.entity import Tag, Type, Entity, update_types
  File "//mnt/c/Users/test/git_repos/lab/data/__init__.py", line 32, in <module>
    DATA_CACHE = caches['default' if settings.USE_REDIS else 'fallback']
  File "/home/username/.local/share/virtualenvs/project_code/lib/python3.7/site-packages/django/conf/__init__.py", line 77, in __getattr__
    val = getattr(self._wrapped, name)
AttributeError: 'Settings' object has no attribute 'USE_REDIS'

Я хотел бы знать, должен ли этот атрибут быть в настройках django по умолчанию или мне нужно обновить django настройки с дополнительной информацией.

Ответы [ 2 ]

1 голос
/ 28 апреля 2020

Вы должны увидеть Django настроек.

Значение должно быть логическим, поэтому либо 1, либо 0.

обновить Redis и попробовать ...

pip upgrade Redis

0 голосов
/ 28 апреля 2020

Краткий ответ: да, вам нужно установить его на Django настройках. Похоже, что значение должно быть логическим, поэтому либо True, либо False.

Если это существующий проект, скорее всего, он должен работать с кодом как есть, поэтому вам понадобятся другие Конфигурация, которая в конечном итоге приводит к правильной настройке конфигурации. Я думаю, что это может быть как переменная окружения, так и ваши настройки проверяют установку redis. Это может быть как указано в документации по зависимости или в соответствии с самим проектом. Возможно, вам также нужно ... установить Redis, если вы этого еще не сделали. Вы упомянули Windows для Linux Ubuntu 18.04, поэтому, предполагая, что вы ссылаетесь на оболочку Ubuntu, поддерживаемую new-i sh windows, я думаю, вам нужно установить ее и там, так как она не может получить доступ к потенциальному Windows установка либо. Или это может быть проблема с конфигурацией docker, не включающей необходимые переменные окружения / стек. Я не понимаю, как работает docker в оболочке виртуальной машины.

...