开发者

My settings.py file in Django is getting too long. How do I split it into two?

How do I开发者_StackOverflow社区 do that? split up 2 files?


Although my solution is not as complex as the ones above, they fit my simple needs: I have some imports in my settings.py file:

try:
    from settings_local import *
except ImportError:
    pass

try:
    from settings_production import *
except ImportError:
    pass

And then I have a settings_local.py file in my local development folder (which I don't upload to the server) and where I overwrite local settings. Then I have a settings_production.py server where I keep settings needed for the production environment.

You can use this technique to import other settings files as well.


Just put it in any file you like and import it somewhere in your main settings file.

So you could set up new settings my_new_settings.py anywhere django can reach, and import it at the end of your real settings.py.

# settings.py
# ...
from my_new_settings import *


These pages might help: discussion on SO, discussion on djangoproject.com


Create new_settings.py file to contain part of settings.py, and import that file wherever you need it.


I'm not a pythonista, so my take might just be the most un-pythonic way to do this. Having said that, this is how I split the settings for our Django app:

Instead of a single settings.py file, we have settings/__init__py. It contains imports for all the settings sections, which are placed in the settings directory.

# settings/__init__.py
from .foo import *
from .bar import *

# settings/foo.py
FOO="test"

# settings/bar.py
BAR="quz"

From the perspective of the application, this is still the same old settings module; from yours, it's a clean structure of configuration data.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜