代码之家  ›  专栏  ›  技术社区  ›  zerohedge

django:conf.settings缺少变量

  •  0
  • zerohedge  · 技术社区  · 5 年前

    建议导入设置模块:

    from django.conf import settings
    

    我的 settings 模块结构为:

    ├── settings
    │   ├── base.py
    │   ├── dev.py
    │   └── prod.py
    

    我有一个变量, amb ,定义在 base.py ,两者兼而有之 dev.py prod.py 进口:

     from .base import *
    

    所以为什么我在测试文件中这样做:

    import django
    
    sys.path.append("/path/to/project/")
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "root_folder.settings.dev")
    # even when the above line is omitted
    django.setup()
    from django.conf import settings
    print(settings.amb) # or settings.AMB
    

    我明白这个错误了吗?

    attributeerror:“settings”对象没有属性“amb”

    如果我试着 settings.base.amb

    2 回复  |  直到 5 年前
        1
  •  2
  •   Emma    5 年前

    django.conf.settings 将只从设置模块返回大写变量。小写变量并不是以大写形式导入的,它们根本不是导入的。

    您可以尝试将其重命名为 AMB .

        2
  •  0
  •   JonPizza    5 年前

    看起来你想要 settings.base.amb