Django Project 초기 세팅, 서버 열기

Joey Lee·2020년 6월 3일
1

Django

목록 보기
17/23

1. 기초 환경 세팅

1) requirements.txt

  • 배포하기 전에 설치한 정보를 별도로 저장해서 다른 사람에게 알려줘야 함. (협업 및 나 자신을 위해)
    • pip freeze : 현재 가상환경 내에 설치한 모듈/프로그램을 보여줌
    • pip freeze > requirements.txt : 내가 설치한 목록을 requirements.txt에 입력해 줌
    • cat requiremnts.txt : 제대로 입력됐는지 확인
  • 이 외에 설치 이력을 관리해 주는 히스토리인가? 하는 프로그램도 있음.

2) corsheaders

  • 프론트랑 백엔드 합칠 때 CORS 에러가 많이 나오게 됨. Cross domain 이슈 때문임
  • Cross domain 이슈란 보안을 위해 허용된 주소가 아닌 곳에서는 데이터 접근을 못 하게 막는 것임
    • 백엔드 혼자서 작업할 때는 어차피 내 로컬 컴퓨터에서 작업하기에 동일한 IP를 사용함.
    • 하지만 다른 사람이랑 공유할 때 IP가 서로 다르기 때문에 다른 IP에서도 데이터 접근을 허용해 주지 않으면 아래처럼 에러가 발생하는 것임
  • 따라서 Cross domain 에러를 방지하기 위해서 cors 헤더를 설치하고, 설정을 해 줘야 함.
  • 원래 도메인이 있는 상태라면 도메인만 허용하면 되는데 지금은 도메인이 없음으로 그냥 어느 정도까지는 허용을 해 줌
  • 만약 추가해야 되는 헤더값이 있다면 반드시 여기에 추가해 줘야 함.

장고에서는 CORS를 해결하기위한 패키지를 제공. 아래의 명령어를 사용해 패키지를 설치

pip install django-cors-headers

설치가 완료되면 settings.py의 INSTALLED_APP과 MIDDLEWARE에 아래 정보를 추가

INSTALLED_APPS = [
...
	'corsheaders'
]

MIDDLEWARE = [
...
	'corsheaders.middleware.CorsMiddleware',

]

[Cross domain 에러가 발생한 이미지]

3) .gitignore

  • 다른 사람과 공유하면 안 되는 문서는 미리 예상해서 초기에 .gitignore에 넣어야 함
  • 내 사용환경에 따라 어떤 문서들을 ignore해야 되는지 알려주는 사이트 : https://www.gitignore.io/
    • gitignore.io에서 나의 주요한 작업환경(vim, macOS, Django, Python 등) 알려주면 gitignore 목록을 뽑아줌
  • 이 내용 복사해서 .gitignore 하면 끝
    • cd (해당폴더)
    • touch .gitignore
    • vi .gitignore 후 복사한 내용 추가

4) 보안 설정

  • 환경 변수에 넣어도 되고 아니면 my_settings.py 파일을 별도로 만들어서 관리
    • 데이터베이스, secret 키 등 중요정보 관리
  • 이 파일은 반드시 gitignore에 포함시켜야 함

2. 서버 외부에 오픈하기

1) 프로젝트 settings.py에 외부 접속자 허용

<프로젝트 settings.py>
allowed_hosts = [’10.58.X.XX’] # 사용자 IP 추가
allowed_hosts = ['*']          # 전체 접속자 허용

2) 서버 런할 때, python manage.py runserver 0:8000

3) IP 주소 공유해 주기

profile
안녕하세요!

1개의 댓글

안녕하세요, 위코드 10기입니다. 참고해서 블로그 작성했습니다. 소중한 정보 감사합니다.

답글 달기