【问题标题】:Cannot use manage.py because of uwsgi import in settings.py由于 settings.py 中的 uwsgi 导入,无法使用 manage.py
【发布时间】:2015-05-09 16:15:23
【问题描述】:

我在生产服务器上使用 django 1.8 + uwsgi + nginx。 uwsgi 处于帝王模式。我在 myapp/settings.py 中导入了 uwsgi python 模块,以便在修改代码时启用自动重载。据我了解,此 python 模块仅在 python 线程由 uwsgi worker 生成时才可用于导入。当我尝试手动使用manage.py collectstatic时,是导入settings.py然后导入uwsgi.py失败。

有没有办法在使用 uwsgi python 模块的同时仍然能够使用 manage.py ?

我用来启用自动重载的代码(在 myapp/sttings.py 中):

import uwsgi
from uwsgidecorators import timer
from django.utils import autoreload

@timer(3)
    def change_code_gracefull_reload(sig):
    if autoreload.code_changed():
        uwsgi.reload()

【问题讨论】:

标签: python django uwsgi manage.py


【解决方案1】:

您应该能够捕获ImportError 异常并通过。

try:
    uwsgi
except ImportError:
    pass

或者,您可以为生产服务器使用不同的设置文件。这将从您的常规 settings.py 文件中导入设置,并包含自动重载的导入和代码。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-01
  • 1970-01-01
  • 2011-05-15
  • 2014-02-01
  • 2019-05-01
  • 1970-01-01
相关资源
最近更新 更多