【问题标题】:django.core.exceptions.ImproperlyConfigured: Cannot import 'category'. Check that 'api.category.apps.CategoryConfig.name' is correctdjango.core.exceptions.ImproperlyConfigured:无法导入“类别”。检查“api.category.apps.CategoryConfig.name”是否正确
【发布时间】:2021-09-05 16:15:46
【问题描述】:

我正在使用Django 3.2Django REST Framework。主要项目名称是ECOMapi 是应用程序。在api 内部有多个应用程序,例如类别、迁移、订单、支付、产品、用户。现在我想通知ecom.settings 已安装的api。我该怎么做?

settings.pyECOM

INSTALLED_APPS = [
     #other basic install
    'corsheaders',
    'rest_framework',
    'rest_framework.authtoken',
    'api',
    'api.category',
]

但出现错误。

我的类别apps.py 文件看起来像

class CategoryConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'category'

【问题讨论】:

  • 错误是什么?
  • @AnkitTiwari 是的,兄弟问题已解决,非常感谢。

标签: python django django-rest-framework


【解决方案1】:

您必须通过在其中创建一个__init__.py 文件来将api 目录变成一个包。然后不要在INSTALLED_APPS 列表中添加api,只需添加api.category

像这样-

INSTALLED_APPS = [
     #other basic install
    'corsheaders',
    'rest_framework',
    'rest_framework.authtoken',
    'api.category',
]

【讨论】:

    【解决方案2】:

    尝试像这样在您的类别apps.py 中更改name

    class CategoryConfig(AppConfig):
        default_auto_field = 'django.db.models.BigAutoField'
        name = 'api.category'
    

    【讨论】:

      【解决方案3】:

      AppConfig.name 是应用程序的完整 python 路径。 在您的情况下,您的应用类别位于另一个名为 api 的应用中,因此请尝试将您的 apps.py 文件更改为此:

      class CategoryConfig(AppConfig):
          default_auto_field = 'django.db.models.BigAutoField'
          name = 'api.category' // full path to your app category
      

      来自 django 文档的来源:https://docs.djangoproject.com/en/4.0/ref/applications/#django.apps.AppConfig.name

      【讨论】:

        猜你喜欢
        • 2022-07-04
        • 2021-07-25
        • 2023-01-26
        • 2023-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-20
        • 1970-01-01
        相关资源
        最近更新 更多