파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크(web application framework)이며 쉽고 빠르게 웹사이트를 개발할 수 있도록 돕는 구성요소로 이루어진 웹 프레임 워크이다.
가상환경
Virtualenv는 프로젝트 기초 전부를 Python/Django와 분리해준다. 다시 말해 웹사이트가 변경되어도 개발 중인 것에 영향을 미치지 않는다.
conda create -n test01 python=3.8
conda env list (가상환경 리스트를 보여줌)
conda activate test01
pip install django
django-admin startproject TEST127
project를 생성하면 다음과 같은 파일구조가 만들어진다.
.
├── TEST127
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
1 directory, 6 files
manage.py > main (물리적 최상위 경로)
wsgi.py > 있어야 웹서비스에서 통신 가능함
asgi.py > 비동기 통신을 하려고 만들어짐
urls.py > 경로를 라우팅을 해주는 파일
python manage.py startapp account
DEBUG = True
True가 기본설정, 개발할 때는 True로 해두고 배포할 때는 False로 해야함
ALLOWED_HOSTS = []
접근 가능한 ip대역 등 설정 가능. ['*']로 설정하면 모두에게 공개, 다접근 가능이 싫으면 국가별 설정도 가능
INSTALLED_APPS
장고가 어플을 관리하고 실행하게 하려면 이 리스트 내부에 포함시켜야 한다
(새로운 어플을 만들면 이곳에 입력해야함)
LANGUAGE_CODE = 'en-us'
서버의 언어 설정 (한글 ko)
TIME_ZONE ='UTC'
시간 설정
USE_TZ = True
True로 하면 time_zone의 시간에 맞추고 False로 하면 내 컴퓨터의 시간에 맞추게 함
makemigrations : models.py에서 적용한 변경사항이나 추가된 혹은 삭제된 사항들을 감지하여 파일로 생성
migrate : 적용되지 않은 migrations들을(설정 값들을) 적용시키는 역할
makimigrations는 장고에서 제공하는 모델의 변경사항들을 감지하고 기록하는 역할을 하며 migrate는 그러한 기록된 파일들과 설정값들을 읽어서 그 변경사항을 db에 저장하는 역할을 한다.
마이그레이션 파일 생성
python manage.py makemigrations account
python manage.py migrate account