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 区分大小写