[{"data":1,"prerenderedAt":51},["ShallowReactive",2],{"r7OCp7VOVM":3,"i6xgKFEaah":5,"plugin-451":7,"versions-451":28},{"data":4},[],{"data":6},[],{"id":8,"name":9,"xmlId":10,"description":11,"preview":12,"docText":11,"email":13,"copyright":13,"downloads":14,"pricingModel":13,"purchaseInfo":13,"vendor":15,"tags":19,"themes":20,"icon":21,"iconDark":22,"iconHash":13,"programmingLanguage":13,"language":13,"licenseInfo":13,"isHidden":23,"screenshots":24,"isDescriptionPinned":23,"isNamePinned":23,"updatedAt":25,"seo_title":9,"seo_description":12,"version":26,"iconUrl":27},451,"Python Frameworks","ru.openide.pyframeworks","\u003Cp>Поддержка веб-фреймворков \u003Cb>Django\u003C/b>, \u003Cb>Flask\u003C/b> и \u003Cb>FastAPI\u003C/b> в OpenIDE Pro: навигация,\n        автодополнение, проверки кода, генераторы и инструменты запуска, привычные пользователям профессиональных IDE.\u003C/p>\n\n        \u003Cp>\u003Cb>Определение фреймворка\u003C/b>\u003C/p>\n        \u003Cul>\n          \u003Cli>Фреймворк каждого модуля определяется автоматически по файлам зависимостей, установленным\n              пакетам интерпретатора и коду проекта.\u003C/li>\n          \u003Cli>Новый проект на Django, Flask или FastAPI создаётся из \u003Ci>File → New → Project\u003C/i>: мастер\n              сам создаёт виртуальное окружение, ставит фреймворк и разворачивает каркас.\u003C/li>\n        \u003C/ul>\n\n        \u003Cp>\u003Cb>Framework Explorer\u003C/b>\u003C/p>\n        \u003Cul>\n          \u003Cli>Окно \u003Ci>Python Frameworks\u003C/i> слева показывает структуру проекта в одном дереве: настройки,\n              модели с полями и связями, view, эндпоинты, сигналы, миграции. Двойной клик открывает соответствующий код.\u003C/li>\n          \u003Cli>Действия контекстного меню узлов: добавить поле в модель, создать миграцию, зарегистрировать модель\n              в админке, сгенерировать DTO, Manager или ModelForm, добавить receiver сигнала, посмотреть SQL\n              миграции и применить миграции до выбранной, создать ревизию Alembic и выполнить upgrade,\n              открыть подключение к базе данных проекта.\u003C/li>\n          \u003Cli>Экспорт спецификации OpenAPI по всем найденным роутам — с панели инструментов Explorer.\u003C/li>\n        \u003C/ul>\n\n        \u003Cp>\u003Cb>Эндпоинты\u003C/b>\u003C/p>\n        \u003Cul>\n          \u003Cli>Дерево эндпоинтов проекта для Django, DRF, Django Ninja, Flask и FastAPI в Explorer,\n              с HTTP-методами и путями, и иконка на полях редактора у каждого роута.\u003C/li>\n          \u003Cli>Навигация из теста к роуту и обратно: иконка у вызова \u003Ccode>client.get(\"/…\")\u003C/code> ведёт\n              к обработчику, а над обработчиком видно, сколько тестов его вызывают.\u003C/li>\n          \u003Cli>Для любого эндпоинта можно сгенерировать HTTP-запрос Connekt с JSON-телом, собранным из\n              Pydantic-модели или DRF-сериализатора, заготовку pytest-теста (\u003Ci>Alt+Enter → Generate test\n              for endpoint\u003C/i>), скопировать URL или запустить сервер и открыть адрес в браузере.\u003C/li>\n        \u003C/ul>\n\n        \u003Cp>\u003Cb>Django\u003C/b>\u003C/p>\n        \u003Cul>\n          \u003Cli>Автодополнение полей и lookups в \u003Ccode>filter()\u003C/code>, \u003Ccode>exclude()\u003C/code>,\n              \u003Ccode>get()\u003C/code> и \u003Ccode>Q()\u003C/code>, полей в конструкторе модели и типов полей после\n              \u003Ccode>models.\u003C/code>\u003C/li>\n          \u003Cli>Переход по строковым ссылкам \u003Ccode>ForeignKey(\"app.Model\")\u003C/code> к классу модели;\n              иконки на полях ведут от связи к модели, от ModelAdmin и ModelForm — к их модели, от view —\n              к сериализатору.\u003C/li>\n          \u003Cli>Admin, формы и DRF: автодополнение имён полей в \u003Ccode>list_display\u003C/code>,\n              \u003Ccode>Meta.fields\u003C/code> и \u003Ccode>exclude\u003C/code>, предупреждения о несуществующих полях,\n              о \u003Ccode>clean_&lt;поле&gt;()\u003C/code> без поля, о view DRF без сериализатора; генерация\n              DRF-сериализатора по модели через \u003Ci>Alt+Enter\u003C/i>.\u003C/li>\n          \u003Cli>settings.py: автодополнение настроек и справка по ним (\u003Ci>Ctrl+Q\u003C/i>), исправление\n              опечаток в именах настроек, проверка порядка \u003Ccode>MIDDLEWARE\u003C/code> и дублей в\n              \u003Ccode>INSTALLED_APPS\u003C/code>.\u003C/li>\n          \u003Cli>Find Usages по полю модели находит и строковые упоминания вроде\n              \u003Ccode>filter(title=…)\u003C/code>, а Rename правит их вместе с полем.\u003C/li>\n          \u003Cli>Окно \u003Ci>Migrations\u003C/i>: статус миграций, создание и применение, просмотр SQL.\n              \u003Ci>Run → Run manage.py Command…\u003C/i> запускает любую команду; иконка запуска у\n              \u003Ccode>django.test.TestCase\u003C/code> выполняет \u003Ccode>manage.py test\u003C/code>.\u003C/li>\n          \u003Cli>Предупреждение о receiver, подписанном на сигнал, который нигде не отправляется.\u003C/li>\n        \u003C/ul>\n\n        \u003Cp>\u003Cb>FastAPI, Pydantic и SQLAlchemy\u003C/b>\u003C/p>\n        \u003Cul>\n          \u003Cli>Проверка, что параметры пути в декораторе совпадают с параметрами функции (FastAPI и Django\n              Ninja), с исправлением \u003Ci>Add missing path parameters\u003C/i>; совет указать\n              \u003Ccode>response_model\u003C/code>; предупреждение о блокирующих вызовах (\u003Ccode>time.sleep\u003C/code>,\n              \u003Ccode>requests\u003C/code>, синхронная сессия БД) в \u003Ccode>async\u003C/code>-роутах.\u003C/li>\n          \u003Cli>Автодополнение декораторов \u003Ccode>@router.get/post/…\u003C/code>, маркеров\n              \u003Ccode>Query\u003C/code>/\u003Ccode>Path\u003C/code>/\u003Ccode>Body\u003C/code>/\u003Ccode>Depends\u003C/code>, значений\n              \u003Ccode>response_model=\u003C/code> и \u003Ccode>status_code=\u003C/code>; переход от\n              \u003Ccode>Depends(…)\u003C/code> и \u003Ccode>add_task(…)\u003C/code> к функции.\u003C/li>\n          \u003Cli>Pydantic: автодополнение полей в конструкторе модели и ключей \u003Ccode>ConfigDict\u003C/code>;\n              миграция с v1 на v2 — устаревшие \u003Ccode>.dict()\u003C/code>, \u003Ccode>@validator\u003C/code>,\n              \u003Ccode>class Config\u003C/code> подсвечиваются и заменяются одним исправлением.\u003C/li>\n          \u003Cli>SQLAlchemy: переход по \u003Ccode>relationship(\"Model\")\u003C/code>, автодополнение колонок в\n              \u003Ccode>filter_by()\u003C/code> и конструкторе модели, типов и аргументов в\n              \u003Ccode>Column()\u003C/code> и \u003Ccode>mapped_column()\u003C/code>.\u003C/li>\n        \u003C/ul>\n\n        \u003Cp>\u003Cb>Flask и консольные команды\u003C/b>\u003C/p>\n        \u003Cul>\n          \u003Cli>Автодополнение ключей \u003Ccode>app.config[\"…\"]\u003C/code>; создание blueprint с автоматической\n              регистрацией в \u003Ccode>create_app\u003C/code>.\u003C/li>\n          \u003Cli>Окно \u003Ci>Flask CLI\u003C/i> запускает команды приложения; окно \u003Ci>CLI Commands\u003C/i> показывает\n              дерево команд Click и Typer с опциями и аргументами.\u003C/li>\n          \u003Cli>Окно \u003Ci>Framework Console\u003C/i> (\u003Ci>Tools\u003C/i>) — интерактивная консоль для\n              \u003Ccode>manage.py\u003C/code>, \u003Ccode>flask\u003C/code> и Click-команд с автодополнением.\u003C/li>\n        \u003C/ul>\n\n        \u003Cp>\u003Cb>Шаблоны Django и Jinja2\u003C/b>\u003C/p>\n        \u003Cul>\n          \u003Cli>Файлы \u003Ccode>.html\u003C/code> в Django- и Flask-проектах, а также \u003Ccode>.djhtml\u003C/code>,\n              \u003Ccode>.jinja2\u003C/code>, \u003Ccode>.j2\u003C/code> открываются как шаблоны: подсветка тегов\n              вместе с HTML, отдельная цветовая схема.\u003C/li>\n          \u003Cli>Автодополнение тегов, фильтров (включая собственные), переменных контекста из view и\n              имён URL; переход по \u003Ccode>extends\u003C/code>, \u003Ccode>include\u003C/code> и \u003Ccode>url\u003C/code>, из\n              \u003Ccode>render()\u003C/code> и \u003Ccode>render_template()\u003C/code> к файлу шаблона, из шаблона к view,\n              которая его рендерит, и к наследующим шаблонам.\u003C/li>\n          \u003Cli>Сворачивание блоков и комментариев, подсветка парных тегов, автозакрытие\n              \u003Ccode>{% %}\u003C/code>, \u003Ccode>{{ }}\u003C/code> и \u003Ccode>{# #}\u003C/code>.\u003C/li>\n          \u003Cli>Точки останова прямо в шаблонах при отладке Django- и Flask-сервера.\u003C/li>\n        \u003C/ul>\n\n        \u003Cp>\u003Cb>Проверки кода и линтеры\u003C/b>\u003C/p>\n        \u003Cul>\n          \u003Cli>Инспекции безопасности: \u003Ccode>debug=True\u003C/code> во Flask, \u003Ccode>DEBUG = True\u003C/code> в\n              продакшен-настройках Django, захардкоженные секреты, \u003Ccode>verify=False\u003C/code>, а также\n              \u003Ccode>eval\u003C/code> и \u003Ccode>pickle\u003C/code> над данными запроса.\u003C/li>\n          \u003Cli>Прочие проверки: дублирующиеся роуты, \u003Ccode>CharField\u003C/code> без \u003Ccode>max_length\u003C/code>,\n              чтение переменной окружения, которой нет в \u003Ccode>.env\u003C/code>.\u003C/li>\n        \u003C/ul>\n\n        \u003Cp>\u003Cb>Запуск, отладка и инструменты\u003C/b>\u003C/p>\n        \u003Cul>\n          \u003Cli>Конфигурации запуска \u003Ci>Django Server\u003C/i>, \u003Ci>Flask Server\u003C/i> и \u003Ci>FastAPI Server\u003C/i> с\n              отладкой; адрес сервера в консоли кликабелен.\u003C/li>\n          \u003Cli>При открытии проекта плагин предлагает установить объявленные, но не установленные\n              зависимости.\u003C/li>\n          \u003Cli>Профилировщик (\u003Ci>ПКМ в редакторе → Profile\u003C/i>): горячие точки, дерево вызовов и flame\n              graph. Окно \u003Ci>Plots\u003C/i> собирает графики matplotlib и plotly из запусков.\u003C/li>\n        \u003C/ul>\n\n        \u003Cp>\u003Cb>Генерация кода\u003C/b>\u003C/p>\n        \u003Cul>\n          \u003Cli>\u003Ci>New → Python Frameworks\u003C/i>: Django App, Django Model, Django View, FastAPI Module\n              (роутер, схемы, сервис, зависимости), Flask Blueprint, сущность или DTO по таблице полей,\n              обработчик роута для текущего фреймворка.\u003C/li>\n          \u003Cli>Live-шаблоны для Django, Flask и FastAPI (\u003Ccode>djmodel\u003C/code>, \u003Ccode>djview\u003C/code>,\n              \u003Ccode>fastget\u003C/code>, \u003Ccode>flroute\u003C/code> и другие) срабатывают только в коде своего\n              фреймворка.\u003C/li>\n          \u003Cli>Автодополнение в \u003Ccode>pyproject.toml\u003C/code>.\u003C/li>\n        \u003C/ul>\n\n        \u003Cp>\u003Cb>Требуется OpenIDE Pro с активной подпиской.\u003C/b> В бесплатной OpenIDE и других IDE на\n        платформе IntelliJ плагин не загружается.\u003C/p>","Поддержка веб-фреймворков Django, Flask и FastAPI в OpenIDE Pro: навигация, автодополнение, проверки кода, генераторы и инструменты запуска, привычные пользователям пр...",null,0,{"name":16,"url":13,"link":17,"publicName":16,"email":18},"OpenIDE","","openide@openide.ru",[],[],"plugins/ru.openide.pyframeworks/pluginIcon.svg","plugins/ru.openide.pyframeworks/pluginIcon_dark.svg",false,[],"13.10.2026","1.0.0","/images/451/icon.svg",{"0":29},{"year":30,"id":31,"cards":32},2026,"id_0",[33],{"id":34,"version":26,"cdate":35,"downloadUrl":36,"notes":37,"since":38,"until":39,"sinceUntil":38,"channel":13,"size":40,"downloads":14,"pluginId":8,"compatibleVersions":41,"author":42,"modules":45,"dependencies":46,"hidden":23,"year":30},3083,"1791878801115","plugins/ru.openide.pyframeworks/1.0.0/python-frameworks-1.0.0.zip","\u003Cp>Первый релиз плагина \u003Cstrong>Python Frameworks\u003C/strong>: поддержка Django, Flask и FastAPI в OpenIDE Pro поверх\nоткрытого Python-плагина. Требуется \u003Cstrong>OpenIDE Pro с активной подпиской\u003C/strong>.\u003C/p>\n\n\u003Ch3>Added\u003C/h3>\n\n\u003Cul>\u003Cli>\u003Cstrong>Определение фреймворка\u003C/strong> — Django, Flask и FastAPI определяются автоматически по файлам\n  зависимостей, пакетам интерпретатора и коду проекта. Мастер \u003Cstrong>File → New → Project\u003C/strong> создаёт проект\n  на любом из трёх фреймворков вместе с виртуальным окружением и каркасом.\u003C/li>\u003Cli>\u003Cstrong>Framework Explorer\u003C/strong> — окно с деревом проекта: настройки, модели с полями и связями, view,\n  эндпоинты, сигналы и миграции. Из контекстного меню можно добавить поле в модель, создать и применить\n  миграцию, зарегистрировать модель в админке, сгенерировать DTO, Manager или ModelForm, добавить\n  receiver, поработать с ревизиями Alembic, открыть подключение к базе данных и экспортировать OpenAPI.\u003C/li>\u003Cli>\u003Cstrong>Эндпоинты\u003C/strong> — роуты Django, DRF, Django Ninja, Flask и FastAPI в Explorer и иконки на полях\n  редактора. Из теста можно перейти к роуту и обратно. Для эндпоинта генерируются HTTP-запрос Connekt\n  с JSON-телом из модели или сериализатора и заготовка pytest-теста.\u003C/li>\u003Cli>\u003Cstrong>Django\u003C/strong> — автодополнение и проверка ORM-запросов, выведение типов моделей; навигация по\n  строковым \u003Ccode>ForeignKey\u003C/code>; автодополнение и проверки для admin, форм, DRF и \u003Ccode>settings.py\u003C/code>; Find Usages\n  и Rename полей модели вместе со строковыми упоминаниями; окно Migrations; запуск команд \u003Ccode>manage.py\u003C/code>\n  и тестов \u003Ccode>django.test.TestCase\u003C/code>; предупреждение о receiver, сигнал которого нигде не отправляется.\u003C/li>\u003Cli>\u003Cstrong>FastAPI, Pydantic и SQLAlchemy\u003C/strong> — проверка параметров пути с быстрым исправлением, подсказка\n  про \u003Ccode>response_model\u003C/code>, предупреждение о блокирующих вызовах в \u003Ccode>async\u003C/code>-роутах; автодополнение\n  декораторов, \u003Ccode>Query\u003C/code>/\u003Ccode>Path\u003C/code>/\u003Ccode>Body\u003C/code>/\u003Ccode>Depends\u003C/code> и аргументов роутов; миграция Pydantic v1 → v2;\n  навигация и автодополнение для моделей SQLAlchemy.\u003C/li>\u003Cli>\u003Cstrong>Flask и консольные команды\u003C/strong> — автодополнение ключей \u003Ccode>app.config\u003C/code>, генератор blueprint, окна\n  Flask CLI и CLI Commands (Click, Typer), интерактивная Framework Console.\u003C/li>\u003Cli>\u003Cstrong>Шаблоны Django и Jinja2\u003C/strong> — подсветка, автодополнение тегов, фильтров, переменных и имён URL,\n  навигация между шаблонами и view, сворачивание блоков, автозакрытие скобок, точки останова в\n  шаблонах.\u003C/li>\u003Cli>\u003Cstrong>Проверки кода\u003C/strong> — инспекции безопасности (\u003Ccode>debug=True\u003C/code>, \u003Ccode>DEBUG = True\u003C/code> в продакшене,\n  захардкоженные секреты, \u003Ccode>verify=False\u003C/code>, \u003Ccode>eval\u003C/code> и \u003Ccode>pickle\u003C/code> над данными запроса), дублирующиеся роуты,\n  \u003Ccode>CharField\u003C/code> без \u003Ccode>max_length\u003C/code>, переменные окружения, которых нет в \u003Ccode>.env\u003C/code>.\u003C/li>\u003Cli>\u003Cstrong>Запуск и инструменты\u003C/strong> — конфигурации Django Server, Flask Server и FastAPI Server с отладкой,\n  предложение установить недостающие зависимости, профилировщик и окно Plots для графиков\n  matplotlib и plotly.\u003C/li>\u003Cli>\u003Cstrong>Генерация кода\u003C/strong> — \u003Cstrong>New → Python Frameworks\u003C/strong> (Django App, Model, View, FastAPI Module, Flask\n  Blueprint, сущность или DTO, обработчик роута), live-шаблоны для каждого фреймворка,\n  автодополнение в \u003Ccode>pyproject.toml\u003C/code>.\u003C/li>\u003C/ul>","262","262.*",2196111,{},{"id":43,"name":16,"link":17,"hubLogin":44},"275","openide",[],[47,48,49,50],"com.intellij.modules.platform","ru.openide.modules.paid","ru.openide.pro.updater","com.intellij.modules.python",1792096596645]