Обновленный вопрос: Как правильно импортировать объекты из других модулей в файлы модуля app и admin и решить проблему ошибки "attempted relative import with no known parent package"? Структура проекта: ``` app __init__.py models.py views.py admin __init__.py ``` Файл `__init__.py`: ```python from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_login import LoginManager app = Flask(__name__) db = SQLAlchemy(app) login_manager = LoginManager(app) ``` Файл `models.py`: ```python from app import db, login_manager ``` или ```python from . import db ``` Файл `views.py`: ```python from . import db ``` Ошибка: ``` File "C:\Users\xabor\PycharmProjects\flask\TODO-app\app\models.py", line 1, in from . import app ImportError: attempted relative import with no known parent package ``` Также, я хотел бы уточнить, как правильно импортировать объекты из модуля `app` и `admin` в `admin/__init__.py`: ```python from .. import app, db, admin ```
В вашем случае, чтобы правильно импортировать экземпляр класса из файла, находящегося в том же каталоге, вы можете использовать следующий синтаксис: ```python from .имя_файла_без_расширения import ИмяКласса ``` Например, если у вас есть файлы `models.py` и `views.py` в каталоге `app`, и вы хотите импортировать экземпляр класса `MyClass` из файла `models.py` в файл `views.py`, вы можете сделать это следующим образом: ```python from .models import MyClass ``` Важно помнить, что перед именем файла ставится точка (`.`), чтобы указать, что импорт должен быть осуществлен из текущего каталога.
- Импорты в Python определяются на основе того, какие пути указаны в переменной PYTHONPATH. Импорты производятся относительно этих путей. Для более подробной информации рекомендуется обратиться к официальной документации. - Исходя из моего опыта, рекомендуется не использовать относительные импорты.