擅长:python、mysql、java
<p>一个想法是让Django每次都加载正确的设置文件,让芹菜使用Django正在使用的设置文件。我就是这么做的。</p>
<p>假设你有项目结构:</p>
<pre><code>project/
proj/
settings.py
urls.py
...
</code></pre>
<p>替换为</p>
<pre><code>project/
proj/
settings/
__init__.py
local.py
production.py
common_settings.py
...
urls.py
...
</code></pre>
<p>让common_settings.py成为所有环境之间共享的所有设置,并让您的<strong>init</strong>.py加载应该使用的任何配置。</p>
<pre><code># __init__.py:
from common_settings import *
# A check for environment variable, hostname, etc:
# Example for checking hostname:
from platform import node
if node() in ['dev1', 'dev2']:
from local import *
elif node() in ['prod1', 'prod2']:
from production import *
</code></pre>
<p>现在,您可以始终依赖project.proj.settings作为环境的正确设置文件。</p>