【发布时间】:2015-05-07 22:20:06
【问题描述】:
似乎 Django 允许在启动时执行代码 - 但是,当应用程序启动时,不清楚我应该将代码放在哪里。那么如何在 Django 1.7 中启动时执行代码呢?
【问题讨论】:
-
“启动”是什么意思?什么时候开始?
-
@rnevius,应用程序。
似乎 Django 允许在启动时执行代码 - 但是,当应用程序启动时,不清楚我应该将代码放在哪里。那么如何在 Django 1.7 中启动时执行代码呢?
【问题讨论】:
对于 Django>=1.7,您可以使用 AppConfig.ready() 回调:
https://docs.djangoproject.com/en/dev/ref/applications/#django.apps.AppConfig.ready
对于以前的版本,请参阅this answer。
如果您使用的是AppConfig.ready() 方法:
1) 创建一个myapp/apps.py 模块并将AppConfig 子类化。例如:
from django.apps import AppConfig
class MyAppConfig(AppConfig):
name = 'myapp'
def ready(self):
...
2) 编辑myapp/__init__.py 并注册您的应用配置:
default_app_config = 'myapp.apps.MyAppConfig'
详情请见https://docs.djangoproject.com/en/1.7/ref/applications/#configuring-applications。
【讨论】: