如何解决在Django命令中以编程方式禁用DEBUG
| 我正在使用自定义Django命令为具有大约3-4百万个数据条目(./manage.py generate_sitemaps
)的站点生成XML站点地图。这似乎可行,但在settings.py中启用DEBUG
时会占用过多内存。
我通常在开发过程中启用了“ 1”选项,并且经常忘记在开始创建站点地图之前将其禁用。如果发生这种情况,内存将开始填满,直到大约2-3小时后脚本崩溃。很烦人。
有没有一种方法可以暂时禁用调试设置以执行Django命令?我考虑过导入设置模块并覆盖该选项,但是我认为这不会起作用。
解决方法
我认为您在这里有两种选择:
导入设置并抛出错误以提醒自己关闭调试。
使用
--settings=
,并将其设置为等于文件(例如gen_settings.py)的文件,专门用于您的generate_sitemaps命令,where4ѭ。然后为ѭ5创建别名
http://docs.djangoproject.com/en/dev/topics/settings/特别警告不要在运行时更改设置
我之前使用过第二个选项,并且效果很好。胜过2-3小时后的烦恼=)
,我不确定是否可以帮助您,但是您可以尝试:
from django.conf import settings
tmp = settings.DEBUG
settings.DEBUG = False
# some your actions
# ...
# ...
settings.DEBUG = tmp
或者,您可以使用单独的设置文件并在命令行中进行设置,例如
./manage.py your_command --settings=another_settings.py
然后在another_settings.py中:
from .settings import *
DEBUG = False
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。