【问题标题】:How to add a sub-app in django to INSTALLED_APPS?如何将 django 中的子应用添加到 INSTALLED_APPS?
【发布时间】:2020-01-16 16:51:51
【问题描述】:

我有我的项目的结构:

project
———— project
———— app
———————— subapp
    ———— manage.py

我像这样将我的子应用添加到 INSTALLED_APPS:

INSTALLED_APPS = ['app.apps.AppConfig', 'app.subapp.apps.SubapConfig']

但它不起作用。 Django 给我一个错误信息:

没有名为“news”的模块并且无法导入“news”。检查 'apps.subapp.apps.SubapConfig.name' 是正确的。

【问题讨论】:

    标签: django


    【解决方案1】:

    假设我使用以下命令创建了一个名为 polls 的应用:

    python manage.py startapp polls
    

    现在我想在主应用程序中创建一个名为subpoll 的子应用程序,这意味着在polls 文件夹中。那么,我该怎么做呢?

    1. 首先,我将在/polls 文件夹中创建一个目录My_App_Name。就我而言,我将在 polls 文件夹中创建一个 subpoll 文件夹。
    2. 之后,运行以下命令创建新应用。
    python manage.py startapp My_App_Name ./polls/Your_Apps_Folder_Name/
    

    因此,在我的情况下,以下命令将是:

    python manage.py startapp subpoll ./polls/subpoll/
    

    最后,我将在settings.py 中添加刚刚创建的应用名称,如下所示:

    INSTALLED_APPS = [
        ...,
        'polls',
        'polls.subpoll',
    
    ]
    

    【讨论】:

      【解决方案2】:

      我遇到了类似的问题。在 apps.py Config 类中,您需要将 name 设置为完整的虚线路径。所以根据你给出的结构:

      project
      ———— project
      ———— app
      ———————— subapp
          ———— manage.py
      

      你会:

      class AppConfig(AppConfig):
          name = "app"
      

      和

      class SubappConfig(AppConfig):
          name = "app.subapp"
      

      这应该对你有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-23
        • 1970-01-01
        • 1970-01-01
        • 2013-11-01
        相关资源
        最近更新 更多