我有一个应用程序(django-compressor),我只想在我的本地机器而不是服务器上运行.我知道的
try:
from local_settings import *
except ImportError:
pass
Run Code Online (Sandbox Code Playgroud)
特技.但我不知道是否有更好的方式来删除应用程序,我只希望在当地办起了INSTALLED_APPS在settings.py使用衣物.
Tim*_*ony 10
我认为你提到的标准方法是最好的; 创建一个settings包含三个设置文件的文件夹 shared.py,production.py和development.py.放置应用程序的所有实例共有的设置shared.py,这是从production.py和导入的development.py.然后,您可以轻松添加compressor开发设置
shared.py
INSTALLED_APPS = (...)
Run Code Online (Sandbox Code Playgroud)
development.py
from settings.shared import *
INSTALLED_APPS += ('compressor',)
Run Code Online (Sandbox Code Playgroud)
您需要确保在开发时使用development.py设置文件运行开发服务器:
python manage.py --settings=settings.development
Run Code Online (Sandbox Code Playgroud)
同样在你的生产服务器上你做同样的事情production.py(这取决于你的实现)
从长远来看,这是一种更好的方法,因为您也可以指定单独的缓存,数据库,搜索等设置.
另外compressor,您可以简单地启用和禁用正在使用它的COMPRESS_ENABLED设置,而不是从已安装的应用程序中完全删除
你也可以用另一种方式来做.
所有共享设置都在settings.py中,并在local_settings中保持不同.在您的情况下,它是INSTALLED_APPS,您可以将导入部分更改为以下内容:
DEV_APPS = None
try:
from local_settings import *
INSTALLED_APPS += DEV_APPS
except:
PASS
Run Code Online (Sandbox Code Playgroud)
这是你的local_settings.py:
DEV_APPS = ('compressor',)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3548 次 |
| 最近记录: |