Актуально на декабрь 2022 г.
Подготовка структуры каталогов
#Структура каталога с проектами.
-----------------------------------------------
C:\_VS_PROJECTS
├───test_Django3_Project
├───test_Django4_Project
├───test_Parsing_Project
└───work_Wagtail_Project
├───copies
├───data
├───docs
├───env
├───sources
└───wagtail_site
Расширения Visual Studio Code для Django/Wagtail
Виртуальное окружение
# активация виртуального окружения
-----------------------------------------------
python -m venv env_wagtail
.\env_wagtail\scripts\activate
python -m pip install --upgrade pip
Установка необходимых пакетов для работы VS Code с проектом Django/Wagtail
# терминал d:\_VS_Projects\work_Wagtail_Project
-------------------------------------
# обновим менеджер пакетов
python -m pip install --upgrade pip
# терминал d:\_VS_Projects\work_Wagtail_Project
-------------------------------------
# поставим пакеты, необходимые для IDE VS Code с проектом Django/Wagtail
pip install django black isort pyli
# создадим отдельный requirements_for_VSCode.txt
cd wagtail_site
echo "" "# для VS Code " "black" "isort" "pyli" >> .\requirements_for_VSCode.txt
# > .vscode/settings.json
-------------------------------------
// Settings for vscode
{
"editor.formatOnSave": true,
"python.formatting.provider": "black",
"python.formatting.blackArgs": [
"--line-length=120"
],
"python.linting.pylintEnabled": true,
"python.linting.enabled": true,
"python.linting.lintOnSave": true,
"python.linting.pylintArgs": [
"--load-plugins",
"pylint_django",
"--django-settings-module=core.settings",
"--max-line-length=120"
],
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
"python.linting.mypyEnabled": true
}
# терминал d:\_VS_Projects (WorkSpace)
----------------------------------------------------------------------------
# создаем файл настроек модуля isort
# и настроим на использование сортировки black
echo "[settings]" "profile=black" > .isort.cfg
# файл: .isort.cfg в корне проекта (WorkSpace)
# -------------------------------------
[settings]
profile=black
# терминал d:\_VS_Projects (WorkSpace)
----------------------------------------------------------------------------
# создаем файл настроек mypy
echo "# здесь настройки модуля mypy" > .mypy.ini
# файл: .mypy.ini в корне проекта (WorkSpace)
# -------------------------------------
[mypy]
plugins =
mypy_django_plugin.main
[mypy.plugins.django-stubs]
django_settings_module = "core.settings"
# терминал d:\_VS_Projects\work_Wagtail_Project
-------------------------------------
pip install django (или pip install wagtail)
mkdir wagtail_site # (если ранее еще не создали этот каталог)
# Cоздаем django или wagtail проект
django-admin startproject core django_site
# или
wagtail start core mySite
# терминал d:\_VS_Projects\work_Wagtail_Project
-------------------------------------
# ставим зависимости, заданные автором фреймфорка
# только для wagtail, для django такой файл еще не создан
pip install -r wagtail_site/requirements.txt
# дополнительно еще ставим библиотеку Pillow
# обязательна для wagtail, но вскоре вы ее захотите и в django
python -m pip install --upgrade Pillow
# добавить в requirements.txt нашу новую библиотеку
echo "" "# для картинок " "Pillow" >> .\requirements.txt
# И стандартные заклинания для запуска проекта
cd wagtail_site
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
# файл .vscode\launch.json
-------------------------------------
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}\\work_Wagtail_Project\\wagtail_site\\manage.py",
"args": [
"runserver"
],
"django": true,
"justMyCode": true
},
]
}
# терминал d:\_VS_Projects\work_Wagtail_Project
-------------------------------------
pip install debugpy
# добавим в requirements_for_VSCode.txt библиотеку
echo "" "# для отладки VS Code " "debugpy" >> .\wagtail_site\requirements_for_VSCode.txt
# функция PowerShell для сокращенного вызова python manage.py <Command> <Param>
# --------------------------------------------------------------------------------------------
function pmp ($param1,$param2) {
Write-Host "running python manage.py $param1 $param2" -ForegroundColor Yellow ;
python manage.py $param1 $param2
}
# функция PowerShell для сокращенного вызова python manage.py <Command> <Param>
# без переноса строк (одной строкой)
# --------------------------------------------------------------------------------------------
function pmp ($param1,$param2) { Write-Host "running python manage.py $param1 $param2" -ForegroundColor Yellow ; python manage.py $param1 $param2 }
# примеры короткого вызова команд manage.py
# ------------------------------------------------------------------------
pmp makemigrations
pmp migrate
pmp runserver
pmp shell
C:\_VS_PROJECTS
│ .isort.cfg
│ .mypy.ini
│
├─.vscode
│ launch.json
│ settings.json
│
├─test_Django3_Project
├─test_Django4_Project
├─test_Parsing_Project
└─work_Wagtail_Project
├───copies
├───data
├───docs
├───env_wagtail
├───sources
└───wagtail_site
│ .....
│ manage.py
│ requirements.txt
│ requirements_for_VSCode.txt
│
├───core
├───home
└───search
Телеграмм: t.me/GoloseevRU
e-mail для обратной связи: Blog@Goloseev.ru