매번 venv 를 입력하고 requirements를 실행하고 migrate후 runserver를 실행해야할까?
python -m venv .venv
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
실행자는 코드를 받고,
.\run.bat 만 수행하면 되도록 세팅해보자.
windows에서 Django 개발 서버를 한번에 실행하기 위한 .bat 배치 파일
@echo off 실행되는 명령어를 계속 출력하지 않게해 깔끔한 터미널을 구성하기로한다.
chcp 65001 콘솔을 utf-8로 설정해 한글이 깨지는것을 줄인다.
cd /d %~dp0은 현재 .bat 파일이 위치한 폴더로 이동하도록 한다.
where python >nul 2>nul 파이썬이 path에 등록되어있는지를 확인하고 없으면 error를 표시한다.
>nul는 정상출력을 버리는것이고 2>nul는 표준 에러를 버리는것. 에러시 깔끔하게 안내문구 출력.
venv 가 없다면 가상환경을 생성한다.
패키지 설치, requirements.txt 포함.
데이터베이스 준비 migrate
서버실행 manage.py runserver.
pause를 추가해 서버를 종료했을때 cmd 창이 바로 닫히지않고 결과를 확인 할 수 있도록 한다. 에러시 오류 메세지 확인할 시간 주기.
@echo off
chcp 65001 > nul
REM Second Brain 개발 서버 실행 (Windows)
REM 가상환경 생성 -> 패키지 설치 -> DB 준비 -> 서버 실행 까지 한 번에 처리한다.
cd /d "%~dp0"
where python >nul 2>nul
if errorlevel 1 (
echo [ERROR] Python 이 설치되어 있지 않거나 PATH 에 없습니다.
echo https://www.python.org/downloads/windows/ 에서 설치 후
echo "Add python.exe to PATH" 를 체크하고 터미널을 새로 열어주세요.
pause
exit /b 1
)
if not exist ".venv" (
echo [1/4] 가상환경 생성 중...
python -m venv .venv || (echo [ERROR] 가상환경 생성 실패 & pause & exit /b 1)
)
echo [2/4] 패키지 설치 중...
call ".venv\Scripts\python.exe" -m pip install --upgrade pip >nul
call ".venv\Scripts\python.exe" -m pip install -r requirements.txt || (echo [ERROR] 패키지 설치 실패 & pause & exit /b 1)
echo [3/4] 데이터베이스 준비 중...
call ".venv\Scripts\python.exe" manage.py migrate || (echo [ERROR] migrate 실패 & pause & exit /b 1)
echo [4/4] 서버 실행: http://127.0.0.1:8000/login/ (종료: Ctrl + C)
call ".venv\Scripts\python.exe" manage.py runserver
pause

'Portfolio' 카테고리의 다른 글
| S brain - 기획 - 아이디어 구상 (0) | 2026.08.21 |
|---|---|
| S brain - 기획 - 사용해보고 싶은 기술들 (0) | 2026.08.21 |
| S brain - front - Scaffolding - manage.py - execute_from_command_line() (feat. settings.py) (0) | 2026.08.20 |
| S brain - front - Scaffolding - comming soon (0) | 2026.08.19 |
| S brain - front - Scaffolding - Sample Pages (0) | 2026.08.19 |