Python/Django

[Django-Memo] 2. 프로젝트 생성 및 서버 실행

꼰대 2021. 5. 28. 12:37

프로젝트 생성을 위한 폴더를 생성합니다.

프로젝트명에 맞게 memo라는 폴더를 생성했습니다.

 

 

새로 만든 memo 폴더로 이동한 다음 django 프로젝트 생성을 위해 아래와 같이

"django-admin startproject config ."을 입력합니다.

참고로 맨뒤에 "config (공백) ." 주의해야 합니다.

"."의 의미는 현재 폴더에 생성하겠다는 내용입니다.

 

 

이제 프로젝트에 파일들이 잘 생성되었는지 확인합니다.

새로 생성된 파일 및 폴더는

config

db.sqlite3

manage.py

"db.sqlite3"는 django에서 제공하는 간단한 파일형식의 데이터베이스이며 사용 안할 예정입니다.

 

config 폴더 내 파일입니다.

새로 생성된 파일 및 폴더는

asgi.py

settings.py

urls.py

wsgi.py

__init__.py

 

 

이제 준비는 끝났고 django 서버를 실행해서 테스트 페이지를 출력해봅니다.

서버 실행 명령 "python manage.py runserver" 입니다.

 

 

서버를 처음 실행하면 아래와 같이 무섭게 경고문이 막 뜹니다. 서버 실행 에러는 아니고 migration 관련 에러입니다. migration하면 없어지며 여기서는 무시합니다.

 

 

django의 기본 포트는 8000번이며 브라우저 주소창에 http://127.0.0.1:8000 입력 후 접속합니다.

물론 http://localhost:8000 으로도 접속할 수 있습니다.

Welcome 페이지를 보니 옛날 JSP 처음 배울 때 고양이가 생각나기도 합니다.

 

 

기본 설정으로 django는 8000번 포트에 외부에서 접속을 못하도록 설정되어 있습니다. 포트 번호를 바꾸고 싶거나 외부에서 (다른 PC에서) 접속이 가능하게 설정하려면 아래와 같습니다.

/config/settings.py 파일을 열고 "ALLOWED_HOSTS = []"부분을 찾습니다. (처음 부분에 있습니다.)

 

 

이 부분에 django 서버가 실행되고 있는 PC의 IP를 입력합니다.

 

 

다음으로 서버 실행 구문 뒤에 "0.0.0.0:80"을 추가하고 실행해야 합니다.

python manage.py runserver 0.0.0.0:80

뒤에 80은 포트 번호이며 다른 포트로 열고 싶으면 변경하면 됩니다. (0.0.0.0:9999)

 

 

접속 시 서버가 설치된 IP를 입력하고 접속합니다. 현재 80포트로 오픈했기 때문에 주소 뒤에 포트는 생략됩니다.

 

 

참고로 일부 가이드에서는 외부 접속이 가능하게 서버 실행하려면 아래와 같이 입력하라고 합니다.

python manage.py runserver 0:80

현재 서버는 Windows 환경이며 위처럼 0:80으로 실행하면 아래와 같이

"Error: [Errno 11001] getaddrinfo failed" 에러를 발생하면서 서버가 종료됩니다.

 

 

찾아보니 서버가 실행되는 OS마다 다른 듯 합니다.

만약 0:80으로 안되면 0.0.0.0:80으로 실행하면 됩니다.

반응형