【问题标题】:Custom location for custom Django commands自定义 Django 命令的自定义位置
【发布时间】:2017-11-01 11:41:37
【问题描述】:

在我的 Django 项目中,我有多个应用程序,并希望为所有应用程序添加通用的自定义 Command (populate_db)。但是,Django 似乎只从INSTALLED_APPS 位置注册自定义命令(即,您必须将management 文件夹放在应用程序的文件夹中)。

有没有办法将management 文件夹放在project_folder 中。这是所需的目录结构:

.
├── __init__.py
├── app_1
|   ├── admin.py
|   └── ...
├── app_2
|   ├── admin.py
|   └── ...
├── project_folder
|   ├── settings.py
|   └── management
|       ├── __init__.py
|       └── commands
|           ├── __init__.py
|           └── populate_db.py    
└── manage.py

【问题讨论】:

    标签: python django


    【解决方案1】:

    Django 仅在 management/commands 中为您安装的应用程序查找管理命令。没有其他方法可以注册它们。

    在您的情况下,您可以将project_folder 添加到您的INSTALLED_APPS,Django 应该会找到您的管理命令。

    另一种常见的方法是创建一个名为'core''main' 的应用程序,其中包括用于整个项目的实用程序,例如您的populate_db 管理命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 2013-10-05
      • 1970-01-01
      • 2017-06-16
      • 1970-01-01
      • 2016-03-28
      • 2014-05-21
      相关资源
      最近更新 更多