我想运行只在 django 应用程序中执行一次的代码。
我的结构:
company
project
common
project_config.py
__init__.py
Run Code Online (Sandbox Code Playgroud)
__init__.py:
default_app_config = "company.project.common.ProjectConfig"
Run Code Online (Sandbox Code Playgroud)
设置.py:
..
INSTALLED_APPS = (
"company.project"
)
..
Run Code Online (Sandbox Code Playgroud)
项目配置文件:
from django.apps import AppConfig
class ProjectConfig(AppConfig):
name = "company.project"
def ready(self):
do_something()
Run Code Online (Sandbox Code Playgroud)
我没有看到我的配置中的 ready() 方法正在被调用。
怎么了?
根据文档,您不需要_init_.py文件,只需将 INSTALLED_APPS 指向AppConfig子类:
尝试这个:
INSTALLED_APPS = (
'company.project.common.ProjectConfig',
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2182 次 |
| 最近记录: |