Files
my_shop/scripts/init_project.ps1
ack_ik 6e1a3ca818
All checks were successful
Auto-Deploy-Shop / deploy (push) Successful in 7s
картинки в одну высоту, добавил вывод времени
генерации и переменной среды
2026-01-26 15:08:24 +03:00

56 lines
1.8 KiB
PowerShell

param(
[string]$Username = "ack",
[string]$Email = "admin@example.com",
[string]$Password = "123"
)
Write-Host "Initializing project environment..."
if (-not (Test-Path ".venv")) {
Write-Host "Creating virtual environment .venv..."
python -m venv .venv
} else {
Write-Host "Virtual environment .venv already exists."
}
$venvPython = Join-Path -Path ".venv" -ChildPath "Scripts\python.exe"
$venvPip = Join-Path -Path ".venv" -ChildPath "Scripts\pip.exe"
Write-Host "Upgrading pip and installing requirements..."
& $venvPython -m pip install --upgrade pip
& $venvPip install -r requirements.txt
Write-Host "Applying database migrations..."
& $venvPython manage.py migrate
Write-Host "Collecting static files..."
& $venvPython manage.py collectstatic --noinput
if (-not $Password) {
$secure = Read-Host "Enter superuser password (input hidden)" -AsSecureString
$bstr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secure)
$plainPassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($bstr)
[System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($bstr)
} else {
$plainPassword = $Password
}
Write-Host "Creating superuser (if it doesn't exist)..."
$createUserPy = @"
from django.contrib.auth import get_user_model
User = get_user_model()
username = '$Username'
email = '$Email'
password = '$plainPassword'
if not User.objects.filter(username=username).exists():
User.objects.create_superuser(username=username, email=email, password=password)
print('Superuser created.')
else:
print('Superuser already exists.')
"@
# pipe the python snippet into manage.py shell
$createUserPy | & $venvPython manage.py shell
Write-Host "Initialization complete. You can now run the development server with: .\.venv\Scripts\python.exe manage.py runserver"