Django 无法从应用程序文件夹导入应用程序,ImportError
Django can't import app from apps' folder, ImportError
我在 Django 1.11.10 和 Python 2.7
上做了一个旧项目
像下面这样的导入不起作用
from apps.configuration.utils import HrefModel
回溯
from apps.configuration.utils import HrefModel
ImportError: No module named configuration.utils
在设置中安装的应用程序
INSTALLED_APPS = [
some django apps...
"apps.configuration",
"apps.nav",
"apps.pages",
more similar apps...
]
项目的文件夹结构
project_name/
├── apps
│ ├── account
│ ├── administration
│ ├── catalog
│ ├── configuration
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── context_processors.py
│ │ ├── __init__.py
│ │ ├── lookups.py
│ │ ├── management
│ │ ├── migrations
│ │ ├── models
│ │ ├── templatetags
│ │ ├── tests.py
│ │ ├── utils
│ │ └── views.py
│ ├── content
│ ├── elastic_search
│ ├── feedback
│ ├── google_captcha
│ ├── __init__.py
│ ├── nav
│ ├── pages
│ ├── posts
│ ├── shop
├── docker-compose.yml
├── Dockerfile
├── entrypoint.sh
├── manage.py
├── requirements.txt
配置应用程序中的 utils 文件夹
utils/
├── bank.py
├── format.py
├── __init__.py
├── objects.py
├── pagination.py
└── slug.py
Objects.py 包含我要导入的 class
将 python2.7 更改为 python3.5,这让我摆脱了异常
Django 文档说
Python compatibility
Like Django 1.9, Django 1.10 requires Python 2.7, 3.4, or 3.5
我在 Django 1.11.10 和 Python 2.7
上做了一个旧项目像下面这样的导入不起作用
from apps.configuration.utils import HrefModel
回溯
from apps.configuration.utils import HrefModel
ImportError: No module named configuration.utils
在设置中安装的应用程序
INSTALLED_APPS = [
some django apps...
"apps.configuration",
"apps.nav",
"apps.pages",
more similar apps...
]
项目的文件夹结构
project_name/
├── apps
│ ├── account
│ ├── administration
│ ├── catalog
│ ├── configuration
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── context_processors.py
│ │ ├── __init__.py
│ │ ├── lookups.py
│ │ ├── management
│ │ ├── migrations
│ │ ├── models
│ │ ├── templatetags
│ │ ├── tests.py
│ │ ├── utils
│ │ └── views.py
│ ├── content
│ ├── elastic_search
│ ├── feedback
│ ├── google_captcha
│ ├── __init__.py
│ ├── nav
│ ├── pages
│ ├── posts
│ ├── shop
├── docker-compose.yml
├── Dockerfile
├── entrypoint.sh
├── manage.py
├── requirements.txt
配置应用程序中的 utils 文件夹
utils/
├── bank.py
├── format.py
├── __init__.py
├── objects.py
├── pagination.py
└── slug.py
Objects.py 包含我要导入的 class
将 python2.7 更改为 python3.5,这让我摆脱了异常
Django 文档说
Python compatibility
Like Django 1.9, Django 1.10 requires Python 2.7, 3.4, or 3.5