ModuleNotFoundError:没有名为“apps”的模块 - 如何让 Django 找到我的应用程序?

问题描述 投票:0回答:1

我是 Django 初学者,也是一个新的 SO 用户,想在 settings.py 中注册我的应用程序。

软件版本:

  • Python 3.11.9
  • Django 4.2.11

我按照本指南创建了我的应用程序(名为:Portal):使用manage.py启动应用程序在另一个目录中创建应用程序

这是项目树:

C:.
├───media
│   ├───book-covers
│   └───users
├───static
│   └───admin
│       ├───css
│       ├───fonts
│       └───js
└───project
    ├───apps
    │   ├───auth
    │   ├───portal
    │   │   ├───media
    │   │   ├───migrations
    │   │   │   └───__pycache__
    │   │   ├───static
    │   │   │   └───portal
    │   │   │       ├───css
    │   │   │       ├───icons
    │   │   │       ├───images
    │   │   │       └───js
    │   │   ├───templates
    │   │   │   └───catalog
    │   │   └───__pycache__
    │   └───users
    ├───plugins
    │   └───tinymce
    ├───static
    └───__pycache__

但是,当我注册我的 Portal 应用程序时,Django 引发了一个错误:

ModuleNotFoundError: No module named 'apps'

apps.py

from django.apps import AppConfig


class PortalConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'apps.portal'

设置.py

INSTALLED_APPS = [
    '',
    'apps.portal',
    '',
]

我知道这可能是一个重复的问题,但我仍然无法解决这个问题。 我应该怎么做才能让 Django 找到我的应用程序?请尽可能具体,因为我是全新的。 感谢您的宝贵时间。

我在这里尝试了步骤:在 Django 中注册应用程序的正确方法

django
1个回答
0
投票

将此添加到您的settings.py

import sys

BASE_DIR = Path(__file__).resolve().parent.parent
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))  # your 'apps' dir containing django apps
© www.soinside.com 2019 - 2024. All rights reserved.