장고(Django)는 하이 레벨 파이썬 웹 프레임워크(high-level Python web framework)입니다.
웹 개발에 필요한 구성과 환경 설정들을 프레임워크가 처리해 주기 때문에 개발에 더 집중할 수 있습니다.
그리고 무료이며 오픈 소스입니다.
장고(Django)는 프런트엔드(사용자 대면)와 백엔드(데이터베이스 및 로직)를 모두 개발할 수 있는 풀 스택 프레임워크(Full Stack Framework)입니다.
Django에서 D가 묵음이기 때문에 "드장고"가 아닌 "장고"로 읽으시면 됩니다.
더 자세한 내용 장고 사이트를 참고하시기 바랍니다. (https://www.djangoproject.com)
장고 확인
현재 가상 환경에 장고가 설치되어 있는지 확인하기 위해서 Terminal(터미널)에서 다음과 같이 명령어를 실행합니다.
python -m django --version
저는 가상 환경에 장고가 아직 설치되어 있지 않아서 "No module named django(장고라는 모듈이 없습니다.)"라고 나옵니다.
그럼 가상 환경에 장고를 설치해 보겠습니다.
장고 설치
장고를 설치하기 위해 Terminal(터미널)에서 다음과 같이 명령어를 실행합니다.
pip install django=={버전}
현재 작성 당시 버전은 5.1.2입니다.
pip install Django==5.1.2
버전을 입력하지 않으면 현재 최신 버전으로 설치됩니다.
pip install django
장고는 다음처럼 버전에 대한 지원 연도를 알려주고 있습니다.
그래서 특정 연도에 지원이 되지 않는 버전을 사용하고 있을 경우 장고 버전을 업그레이드해야 합니다.
지원이 되지 않는다고 해서 사용할 수 없는 것은 아닙니다. 다만, 보안 관련 이슈나 오류에 대해 더 이상 지원하지 않을 뿐입니다.
더 자세한 내용 장고 사이트를 참고하시기 바랍니다. (https://www.djangoproject.com/download/)
저는 최신 버전을 설치하기 위해 버전을 입력하지 않았습니다.
pip install django
장고를 설치한 후 다시 버전을 확인해 보면 5.1.2이 설치된 것을 알 수 있습니다.
그리고 가상 환경 폴더(myenv)의 Lib 폴더를 보면 장고(django)와 관련 모듈(asgiref, sqlparse, tzdata)들이 설치되어 있는 것을 확인할 수 있습니다.
그럼 장고를 기반으로 하는 프로젝트를 만들어 보겠습니다.
프로젝트 생성
프로젝트 관리 파일(manage.py)과 프로젝트 패키지 파일(settings.py, urls.py, asgi.py, wsgi.py)들을 생성하기 위해 Terminal(터미널)에서 다음과 같이 명령어를 실행합니다.
django-admin startproject {이름} {디렉토리}
django-admin은 장고를 관리하는 명령입니다.
django-admin <command> [options]
django-admin startproject 명령은 프로젝트가 구동될 수 있게 구조를 생성해 줍니다.
{이름}은 프로젝트 패키지 파일들이 들어갈 폴더 이름입니다.
{디렉토리}는 프로젝트를 생성할 디렉터리입니다. (현재 디렉토리에서 생성할 경우 "."를 입력하고 다른 디렉토리로 생성할 경우 디렉토리를 입력하면 됩니다.)
더 자세한 내용 장고 문서 사이트를 참고하시기 바랍니다. (https://docs.djangoproject.com/en/5.1/ref/django-admin/#startproject)
저는 현재 폴더에 프로젝트 구조를 생성할 것이 때문에 "."를 입력하였고 프로젝트 패키지 파일들이 들어갈 폴더 이름은 "config"으로 입력하였습니다.
django-admin startproject config .
EXPLORER를 보면 PROJECT1 폴더에 config 폴더(프로젝트 패키지 파일들이 있는 폴더)와 manage.py(프로젝트 관리 파일)가 생성된 것을 확인할 수 있습니다.
그럼 프로젝트를 실행해 보도록 하겠습니다.
프로젝트 실행(개발 웹 서버 실행)
1. 파이썬에서 제공하는 개발 웹 서버로 프로젝트를 실행하기 위해 Terminal(터미널)에서 다음과 같이 명령어를 실행합니다.
python manage.py runserver
개발 웹 서버는 로컬 컴퓨터에서 실행되기 때문에 도메인이 127.0.0.1로 실행되고 포트를 입력하지 않으면 자동으로 8000으로 설정되어 실행됩니다.
더 자세한 내용 장고 문서 사이트를 참고하시기 바랍니다. (https://docs.djangoproject.com/en/5.1/ref/django-admin/#runserver)
2. 웹 브라우저에서 "http://127.0.0.1:8000/"를 입력합니다.
장고 프로젝트에서 제공하는 기본 페이지가 실행되는 것을 확인할 수 있습니다.