Django自定义应用程序配置

时间:2017-01-24 19:33:45

标签: python django

我想运行只在django app中执行一次的代码。

我的结构:

company
  project
    common
      project_config.py
  __init__.py

__初始化__吡啶

default_app_config = "company.project.common.ProjectConfig"

settings.py

..
INSTALLED_APPS = (
  "company.project"
)
..

ProjectConfig.py

from django.apps import AppConfig

class ProjectConfig(AppConfig):
    name = "company.project"

    def ready(self):
        do_something()

我没有看到我的配置中的ready()方法被调用。

有什么问题?

1 个答案:

答案 0 :(得分:2)

根据documentation,您不需要_init_.py文件,只需将INSTALLED_APPS指向AppConfig子类:

试试这个:

INSTALLED_APPS = (
  'company.project.common.ProjectConfig',
)