我有一个settings.py
文件和一个dev_settings.py
文件,我用它来覆盖一些用于开发目的的值.每次运行./manage.py
命令时,我都必须指定--settings=whatever.local_settings
.这样做每次都变得非常繁琐,我试图找到一种方法强制manage.py每次默认加载我的dev_settings.py文件,这样我每次运行时都不必输入那个长参数命令.
我尝试过设置DJANGO_SETTINGS_MODULE
,但似乎manage.py会覆盖此选项.
是否有可能实现这一目标,或者我注定要始终指定该论点?
Ond*_*ták 14
manage.py
为你设置路径,这就是它忽略的原因DJANGO_SETTINGS_MODULE
(它基本上只是包裹的脚本django-admin.py
).
有两种简单的方法可以解决您的问题:
设置DJANGO_SETTINGS_MODULE
并使用django-admin.py
来运行所有命令而不是manage.py
.如果你使用vitualenv,这甚至会更好.
复制manage.py
并命名它local.py
(这是我的名字),并将所有settings
提及重命名为dev_settings
.
例如:
#!/usr/bin/env python
from django.core.management import execute_manager
import imp
try:
import settings_local
except ImportError:
import sys
sys.stderr.write("Error: Can't find the file 'settings_local.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n" % __file__)
sys.exit(1)
if __name__ == "__main__":
execute_manager(settings_local)
Run Code Online (Sandbox Code Playgroud)
您./local.py
现在可以运行所有命令.
归档时间: |
|
查看次数: |
10813 次 |
最近记录: |