Python、Heroku 和 Memcachier - 访问 settings.py 变量
Python, Heroku & Memcachier - access settings.py variable
我正在关注 Heroku 上的 instructions 以将 Memcahier 与 Python 一起使用。
当尝试在另一个文件中使用 'mc' 变量时,在 settings.py 中设置,出现以下错误:
Exception Value: name 'mc' is not defined
我已尝试将 settings.py 导入我希望使用 'mc' 变量的文件中,但我收到另一个错误:
'Settings' object has no attribute 'mc'
如何在设置文件之外访问这个 mc 变量?
这可能是导入问题。
您需要通过 settings.mc
访问 mc
,因为如果您在文件开头使用 import settings
导入它,它不会包含在您当前的命名空间中,但是在一个单独的名为 "settings".
中
如果您希望将其直接导入您当前的命名空间,请使用
from settings import *
相反。
只有当您自己的文件与 settings.py 位于同一目录中,或者如果 settings.py 位于 Python 已知的目录中时,这才有效。 (参见 PYTHONPATH)
如果 settings.py 在另一个目录中,您可以使用 whole path
导入它
顺便说一下,浏览 Python 文档总不会有坏处:see this
此外,请确保为您的设置模块使用正确的大小写。如果设置文件导入为带有小写字母的 "settings",那么您必须在所有地方都像这样访问它,因为 Python 区分大小写
我正在关注 Heroku 上的 instructions 以将 Memcahier 与 Python 一起使用。
当尝试在另一个文件中使用 'mc' 变量时,在 settings.py 中设置,出现以下错误:
Exception Value: name 'mc' is not defined
我已尝试将 settings.py 导入我希望使用 'mc' 变量的文件中,但我收到另一个错误:
'Settings' object has no attribute 'mc'
如何在设置文件之外访问这个 mc 变量?
这可能是导入问题。
您需要通过 settings.mc
访问 mc
,因为如果您在文件开头使用 import settings
导入它,它不会包含在您当前的命名空间中,但是在一个单独的名为 "settings".
如果您希望将其直接导入您当前的命名空间,请使用
from settings import *
相反。
只有当您自己的文件与 settings.py 位于同一目录中,或者如果 settings.py 位于 Python 已知的目录中时,这才有效。 (参见 PYTHONPATH)
如果 settings.py 在另一个目录中,您可以使用 whole path
导入它顺便说一下,浏览 Python 文档总不会有坏处:see this
此外,请确保为您的设置模块使用正确的大小写。如果设置文件导入为带有小写字母的 "settings",那么您必须在所有地方都像这样访问它,因为 Python 区分大小写