장고를 연습하면서 초기에 환경구성할떄 애를 많이 먹었다.
반복적으로 행하는 일이기 떄문에 익숙해지면 이전 코드들을 참고하지않고도 작성할수 있겠지만
처음 시작하는 단계에서는 어떤 코드였는지 햇갈리기때문에 익숙해질때 까지 반복적으로 환경을 구성해보고 지워봐야 할것 같다.
장고 뿐만 아니라 어떤 프레임워크나 라이브러리는 사용해서 프로젝트를 시작하던지 가장먼저 해야할것은 가상환경구성이다. 먼저 기존에 사용하던 로컬환경과 분리된 가상환경을 만들고 그에 필요한 라이브러리,프레임워크를 설치해서 사용해야 이후 여러가지 프로젝트를 동시에 진행해야 하거나 프로젝트에 적용할 버전을 관리하는데에 유리하기 떄문이다.
가상환경 생성
conda create -n "가상환경 이름" python=3.8
pip install django / 장고설치
pip install mysqlclient / myclient 설치
django-admin startproject 프로젝트네임 / 장고 프로젝트 생성
databases 생성
mysql -u root -p / mysql 콘솔 실행
mysql -u root -p mysql> create database 이름 character set utf8mb4 collate utf8mb4_general_ci;
데이터베이스 생성
내 경우 우분투로 개발중인데 pip로 myclient를 설치하려고 할때 에러가 발생해서 conda로 설치하였다.
pip install mysqlclient ->condainstall mysqlclient
Settings.py 설정
IP 허용
ALLOWED_HOSTS = ['*']
주석처리 (admin, csrf, auth)
/urls.py 를 아래와 같이 수정
urlpatterns = [ ]
my_settings.py 생성 (DATABASES, SECRET_KEY)
my_settings 라는 파일은 외부로 업로드 되거나 유풀되지 않도록 따로 만들어서 민감한 정보를 담는다.
예를 들어 database구조나 secret_key가 있다.
touch my_settings.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 를 사용합니다.
settings.py ↔ my_settings.py 연동
from pathlib import Path #기존에 settings.py 에 있는 코드
from my_settings import DATABASES, SECRET_KEY
DATABASES = DATABASES SECRET_KEY = SECRET_KEY
CORS란? (Crosss-Origin Resource Sharing)
웹 페이지 상의 제한된 리소스를 최초 자원이 서비스된 도메인 밖의 다른 도메인으로부터 요청할 수 있게 허용하는 구조이다.
corsheaders
pip install django-cors-headers
settings.py에 INSTALLD_APPS 안에 추가
INSTALLED_APPS = [ ... 'corsheaders' ]
MIDDLEWARE = [ ... 'corsheaders.middleware.CorsMiddleware', ... ]
- CORS 추가 설정
##CORS
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
)
CORS_ALLOW_HEADERS = (
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)
git init 해서 .git 파일을 생성해 변화를 추적하고
git add .
git commit -m "내용"
git branch -M main (master를 main 으로 바꿀떄 사용)
git remote add origin repository 주소 (갓헙에 업로드)
git push origin main (메인브렌치로 이동)
git checkout -b "브랜치명" (브랜치 생성하고 이동)
python manage.py startapp "app아름"
settings.py 생성한 app추가
INSTALLED_APPS = [
...
'app이름',
pip freeze > requirements.txt #pip freeze 로 확인된 설치되어있는 패키지 목록을 텍스트 파일로 저장해준다
pip install -r requitrments.txt # requirements 파일 안에 있는 버전의 패키지들을 설치함
'First step > web depeloper step1' 카테고리의 다른 글
django _ORM은 뭘까 , 정규화는 뭘까 (0) | 2021.11.21 |
---|---|
github 사용법 정리하기 (0) | 2021.11.21 |
개발환경 준비 명령어 (0) | 2021.11.13 |
터미널, git 등 기본적인 개발 기초 지식 (1) | 2021.11.12 |
웹 기초 상식 정리 (0) | 2021.11.12 |