如何解决这个python和Django设置导入特性?

2024-04-26 02:25:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的文件布局:
settings/
----__init__.py
----common.py
----configs/
--------constants1.py
--------constants2.py
----debug/
--------include1&2.py
--------include1.py
--------include2.py

当我导入settings.debug.include1时,我希望设置文件执行/导入common.py,然后用适当的常量文件覆盖common.py中的设置。问题是,这不会发生。有没有办法以这种方式实现我的目标?你知道吗


Tags: 文件pydebugsettingsinit方式布局common
2条回答

由于大多数注释已经暗示,您可以在适当的文件中使用from module import *。它们可能如下所示。。你知道吗

你知道吗

# settings/common.py

DEBUG = False

你知道吗

# settings/configs/constants1.py

CONSTANT_1 = 'One'

你知道吗

# settings/configs/constants2.py

CONSTANT_2 = 'Two'

你知道吗

# settings/debug/include1.py

from settings.common import *
from settings.configs.constants1 import *

# Override settings here
DEBUG = True
CONSTANT_1 = '1'

你知道吗

# settings/debug/include2.py

from settings.common import *
from settings.configs.constants2 import *

# Override settings here
DEBUG = True
CONSTANT_2 = '2'

对于2个调试的组合,包括

# settings/debug/include1and2.py

from settings.debug.include1 import *
from settings.debug.include2 import *

或者

# settings/debug/include1and2.py

from settings.common import *
from settings.configs.constants1 import *
from settings.configs.constants2 import *

# Override settings here

否。请使用from ... import *execfile()中的settings/__init__.py加载适当的文件。你知道吗

相关问题 更多 >