Django는 python을 사용하는 서버 제작 프레임워크 입니다. 프로젝트를 시작해 간단하게 서버 프로그램을 돌릴 수 있습니다.
Django 프로젝트 시작하는 방법 💡️
Django 프로젝트를 시작하기 앞서, 의존성을 주입해주기 위해 사용하는 툴이 '가상환경'입니다. 가상환경을 실행하고, 구성된 가상환경안에서 버서 제작에 필요한 모듈을 설치하여 사용할 수 있습니다.
가상환경 만들기
$ python3 -m venv 가상환경이름
위와 같이 명령어를 실행하면 다음과 같은 디렉토리가 생성됩니다.
.
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── Activate.ps1
│ ├── easy_install
│ ├── easy_install-3.8
│ ├── pip
│ ├── pip3
│ ├── pip3.8
│ ├── python -> python3
│ └── python3 -> /usr/bin/python3
├── include
├── lib
│ └── python3.8
├── lib64 -> lib
├── pyvenv.cfg
└── share
└── python-wheels
Django 설치하기 💡️
가상환경이 구성된 후 구성된 환경안에서 Django 모듈을 설치해줍니다. 먼저 가상환경을 실행해줍니다. 저는 가상환경 이름을 penv로 설정했습니다.
$ source ./가상환경/bin/activate
정상적으로 가상환경이 실행된 경우 터미널에 가상환경이 표시됩니다. (가상환경 이름)이 표기되면 정상적으로 가상환경이 실행된 겁니다.
(penv) ➜ firstApp
가상환경 안에서 Django를 설치해줍니다.
$ pip install django
이제 새로운 프로젝트를 시작합니다.
$ django-admin startproject firstApp
Django 프레임워크는 기본적인 서버 구성을 다 만들어줍니다. 💡️
.
├── db.sqlite3
├── firstApp
│ ├── asgi.py
│ ├── __init__.py
│ ├── __pycache__
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
가상환경을 종료하기 위해서는 deactivate 명령어를 사용합니다.
$ deactivate
Django로 서버 실행하기 💡️
우리는 최초로 Django 모듈 1개만 설치한 상황입니다. 다음 명령어로 현재 설치된 모듈을 확인할 수 있습니다.
$ pip list
(penv) ➜ firstApp pip list
Package Version
------------------ -------
asgiref 3.5.2
backports.zoneinfo 0.2.1
Django 4.1.1
pip 20.0.2
pkg-resources 0.0.0
setuptools 44.0.0
sqlparse 0.4.3
설치된 모듈을 관리하기 위해 requirements.txt 파일에 모듈을 저장해 다른 환경에서 쉽게 관리할 수 있게 됩니다. Node.js에서 package.json과 비슷한 역할을 합니다.
설치된 모듈을 확인하는 두번째 방법은 pip freeze입니다.
$ pip freeze
requirements.txt를 생성하는 방법입니다.
$ pip freeze > requirements.txt
requirements.txt에 저장된 모듈을 한번에 설치할 수 있습니다.
$ pip install -r requirements.txt
서버를 실행하기 전 Django에서 제공해주는 ORM으로 구성된 기본적인 스키마가 구성되어 있습니다. 💡️ 이 스키마를 DB에 저장해줘야 합니다. Django에서 기본 셋팅되는 DB는 sqlite3입니다. 뒤에 앱이름을 기재해주면 특정 앱의 스키마만 migrate 할 수 있습니다. 앱 이름을 기재하지 않으면 프로젝트 전체 스키마를 마이그레이션 합니다.
$ python3 manage.py migrate [앱 이름]
⚠️ 만약 DB를 migrate 해주지 않으면 다음 에러가 발생합니다.
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
이제 서버를 실행합니다.
(penv) ➜ firstApp python3 manage.py runserver
정상적으로 서버가 실행되었다면 기본 포트 8000번에서 서버가 실행됩니다. localhost:8000 혹은 127.0.0.1:8000을 브라우저 URL에 입력하시면 다음 화면이 렌더링 됩니다.
만약 다른 포트에서 실행하려고 하면 포트 번호를 명시해주면 됩니다.
$ python3 manage.py runserver 9999
기본 제공된 manage.py는 Django 프로젝트를 실행하는 코드를 담고 있습니다. manage.py 사용법을 더 알고 싶은 분들은 help를 참조하면 됩니다.
$ python3 manage.py --help
Reference
- Django 공식 홈페이지 : https://docs.djangoproject.com/en/4.1/intro/tutorial01/
'Programming' 카테고리의 다른 글
프로세스 스레드 차이점 ⁉️ (0) | 2022.10.01 |
---|---|
Spring boot VS Node Express 차이 성능 비교💡️ (0) | 2022.10.01 |
[회고록] 코드스테이츠 블록체인 파이널 프로젝트 완수 후기 (2) | 2022.09.30 |
MongoDB Atlas 백업 하는 방법 (mongodump mongorestore) (0) | 2022.09.29 |
MSA 아키텍처란? SOA를 구현해보자 🚀️ (0) | 2022.09.28 |
댓글