Как импортировать модель из одного приложения в другое?
Проблема, с которой я сталкиваюсь:
Error: ModuleNotFoundError: No module named 'CVBuilderApp.cvs'
Что я сделал: В моем основном файле представлений приложения, т.е. в CVBuilderApp.views
файле
views.py:
from CVBuilderApp.cvs.models import PersonalInfo
Структура моего проекта:
CVBuilderApp
- accounts
- models, urls, views
- cvs
- models, urls, views
- CVBuilderApp
- settings.py
- manage.py
Как импортировать модель, если имя основного приложения и имя проекта совпадают? Пожалуйста, помогите
Вы не должны писать имя проекта в импортах, поэтому ваши импорты должны быть примерно такими:
from cvs.models import PersonalInfo
from csv.models import PersonalInfo
Импорты относительны.
Вы можете вызвать python manage.py runserver
, чтобы все было относительно manage.py
Пример
CVBuilderApp (root)
- helpers (dir)
- helperofhelper (dir)
- doesthing.py <- Import this
- cvsHelper.py <- from Here
- manage.py
если вы хотите импортировать doesthing внутри cvsHelper
вы не хотите делать from helperofhelper.doesthing import dothing
вы хотели бы сделать from helpers.helperofhelper.doesthing import dothing
редактирование: пропущено от
Расположение модели относительно расположения файла manage.py. поэтому вам нужно ввести:
from cvs.models import PersonalInfo