Python, Heroku & Memcachier - доступ к переменной settings.py

Я следую инструкциям на Heroku для использования Memcahier с Python.

При попытке использовать переменную 'mc', которая установлена ​​в файле settings.py, в другом файле я получаю следующую ошибку:

    Exception Value:    name 'mc' is not defined

Я попытался импортировать settings.py в файл, который я хочу использовать переменную 'mc', но я получаю еще одну ошибку:

'Settings' object has no attribute 'mc'

Как я могу получить доступ к этой переменной mc вне файла настроек?

1 ответ

Решение

Вероятно, это проблема импорта.

Вам нужно получить доступ mc с помощью settings.mcпотому что, если вы импортировали его, используя import settings в начале файла он не входит в ваше текущее пространство имен, а в отдельное, называемое "настройки".

Если вы хотите импортировать его непосредственно в текущее пространство имен, используйте

from settings import *

вместо.

Это работает только тогда, когда ваш собственный файл находится в том же каталоге, что и settings.py, или если settings.py находится в каталоге, известном Python. (См. PYTHONPATH)

Если settings.py находится в другом каталоге, вы можете, например, импортировать его, используя весь путь

Между прочим, никогда не повредит просматривать документы Python: посмотрите это

Также убедитесь, что вы используете правильный регистр для вашего модуля настроек. Если файл настроек импортируется как "настройки" с строчной буквой, то вам нужно обращаться к нему везде, потому что Python чувствителен к регистру

Другие вопросы по тегам