无法使用 manage.py,因为在 settings.py 中导入了 uwsgi
Cannot use manage.py because of uwsgi import in settings.py
我在生产服务器上使用 django 1.8 + uwsgi + nginx。 uwsgi 处于皇帝模式。我在 myapp/settings.py 中导入 uwsgi python 模块以在代码修改时启用自动重新加载。据我了解,仅当 uwsgi worker 生成 python 线程时,此 python 模块才可用于导入。当我尝试手动使用 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()
您应该能够捕获 ImportError
异常并通过。
try:
uwsgi
except ImportError:
pass
或者,您可以为生产服务器使用不同的设置文件。这将从您的常规 settings.py
文件导入设置,并包括自动重新加载的导入和代码。
我在生产服务器上使用 django 1.8 + uwsgi + nginx。 uwsgi 处于皇帝模式。我在 myapp/settings.py 中导入 uwsgi python 模块以在代码修改时启用自动重新加载。据我了解,仅当 uwsgi worker 生成 python 线程时,此 python 模块才可用于导入。当我尝试手动使用 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()
您应该能够捕获 ImportError
异常并通过。
try:
uwsgi
except ImportError:
pass
或者,您可以为生产服务器使用不同的设置文件。这将从您的常规 settings.py
文件导入设置,并包括自动重新加载的导入和代码。