django + uwsgi,在哪里放置我的启动代码?

时间:2014-06-30 09:06:59

标签: python django uwsgi

我尝试将启动代码放在mysite/__init__.py

当我运行python manage.py run时,将执行启动代码。

但是当我用uwsgi运行django时,这个启动代码没有被执行。

我试图将我的启动代码放在几个不同的地方,但是当uwsgi启动时,它们都没有被执行。

当uwsgi启动时,我该怎么做才能执行启动代码?

1 个答案:

答案 0 :(得分:2)

将启动代码放在单独的文件中,例如startup.py,然后更改这两个文件:

<强> manage.py

# some code
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "[project name].settings")
if __name__ == "__main__":
    import startup
    # the rest of the code

[项目名称] /wsgi.py

# some code
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "[project name].settings")
import startup
# the rest of the code

请注意顺序:导入始终在environ设置之后(可能不重要,取决于启动的功能)。

在Django1.7中,您可以为每个应用程序使用ready函数。阅读本文:

https://docs.djangoproject.com/en/dev/ref/applications/#django.apps.AppConfig.ready