Django는 Web Server가 아니라 Python 기반 Web Application Framework이다.
Django 프레임워크는 데이터베이스 이론, SQL 문법, HTTP 통신 개념 등
웹 앱의 동작을 책임지는 핵심 기술들에 대한 기반 기술들을 모두 고수준으로 추상화시켜
개발자가 Python 및 Django 지식 만으로 웹 앱을 작성할 수 있게 해주기 때문에 생산성 측면에서 유리하다.
프로젝트 마다 독립적인 패키지의 관리를 위해 새로운 가상환경을 생성
프로젝트 시작 시 프로젝트라는 이름으로 폴더가 생성된다.
또한 프로젝트 시작 위치에 실행을 시킬 수 있는 manage.py가 생성된다
1) manage.py : 실행시 사용 ( runserver )
2) 프로젝트이름/settings.py : 장고 프로젝트 설정을 하는 곳
3) 프로젝트이름/urls.py : 앱단위 전체 url을 관리하는 곳
4) wsgi.py : 배포관련 파일이 존재하는 곳
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DATABASE 명',
'USER': 'DB접속 계정명',
'PASSWORD': 'DB접속용 비밀번호',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {'charset': 'utf8mb4'}
}
}
SECRET_KEY = '시크릿키'
#settings.py에 있는 secret_key 를 사용
from pathlib import Path #기존에 settings.py 에 있는 코드
from my_settings import DATABASES, SECRET_KEY
...
DATABASES = DATABASES
SECRET_KEY = SECRET_KEY
cross domain 이슈가 발생하지 않도록 헤더에 접근 허락해주는 corsheaders django 앱 추가
cors에 대한 정보는 추후에 블로그 글로 정리해야 겠다...
pip install django-cors-headers 설치
설치했다면 settings.py에 INSTALLD_APPS 안에 추가
CORS 추가 설정
CORS_ORIGIN_ALLOW_ALL이 True 이면, whitelist는 쓰이지 않고, 모든 origin에서의 요청이 허용된다. , Default는 False이다.
CORS_ALLOW_CREDENTIALS가 True인 경우, 쿠키가 cross-site HTTP 요청에 포함될 수 있다. 기본값은 False이다.
실제 요청에 허용되는 HTTP 동사 리스트 기본값(ALLOW_METHODS)
실제 요청을 할 때 사용될 수 있는 non-standard HTTP 헤더 목록이다. 기본값(ALLOW_HEADERS)