본문 바로가기
Python/Django

Web - Django project 시작 및 Server

by hooni40 2021. 7. 1.
728x90
반응형

안녕하세요, 지난 시간에 Django(장고) 개발환경을 모두 설정하였고 오늘부터 본격적으로 시작해보려 합니다.

 

1. Django 프로젝트 생성

프로젝트를 진행할 디렉터리를 만들고 해당 디렉터리에 가상 환경 설정 및 프로젝트를 만들어 줘야 합니다.

-. mkdir 커맨드로 프로젝트를 진행할 디렉터리를 만든 후 안으로 이동합니다.

-. pyenv local 커맨드로 local 가상 환경을 설정해 줍니다. 

-. django-admin startproject {프로젝트 이름} 커맨드로 프로젝트를 만들어 줍니다!

mkdir first-django  ← first-django라는 디렉토리를 생성
cd first-django  ← first-django 디렉토리 안으로 들어갑니다
python local django-envs ← django-envs라는 가상 환경을 local 영역(first-django)에 설정해 줍니다!
django-admin startproject costaurant ← costaurant라는 이름의 프로젝트를 생성해 줍니다

설정 후 ls 커맨드로 내부를 확인 시 costaurant라는 프로젝트가 생성된 것을 확인할 수 있습니다!

2. Django 개발서버 실행

이제 Django로 만든 개발 서버를 실행해 보겠습니다!

-. costaurant에 들어가서 code .을 이용해 VSCode를 실행해 줍니다.

+) Django 프로젝트 구조

 위와 같이 디렉터리 내부 항목들이 나오는데요, 자세히 보시면 대문자로 된 COSTAURANT 아래에 동일한 이름의 소문자 costaurant폴더가 있습니다. 여기서 상위 COSTAURANTProject Root라고 하며, 하위에 costaurantProject App이라고 합니다. Project Rootdjango 프로젝트의 모든 파일이 담겨 있는 최상위 디렉터리입니다. Project App은 우리 Project의 가장 중심이 되는 App입니다. Project Root 파일은 이름을 마음대로 바꿔도 되지만 Project App 파일은 이름을 바꾸면 다른 많은 수정이 동반되므로 이름을 바꾸지 않는 것이 좋습니다. Project와 App에 대해서 간단히 설명드리자면 Project는 웹 서비스 전체를 나타내는 것이고, App은 기능을 나타내는 것입니다. (예를들어 쇼핑몰[프로젝트]이 있으면 회원가입, 구매하기, 장바구니에 담기같은 것들이 App입니다!)

 

 다음으로 manage.py프로젝트의 매니저 역할을 하는 파일입니다. 프로젝트 관리를 위한 명령어를 지원합니다. 앱(APP) 생성, 데이터베이스 관련 명령, 개발서버 실행 등 역할을 합니다.

 

 이제 Project App안의 파일을 살펴보겠습니다. __init_.pyProject App 디렉터리가 Python 패키지로 인식되도록 하는 파일입니다. settings.py시간대 설정, 데이터베이스 설정, 경로 설정 등 Django프로젝트의 전반적인 설정을 담당합니다. urls.py는 user가 보내는 URL을 보고 알맞은 페이지로 연결해 주는 역할을 합니다. 예를 들어 로그인 요청 URL(http://naver.com/login~)을 보낸다면 로그인 페이지로 연결해 줍니다. 마지막으로 wsgi.py웹 서버와 Python 애플리케이션인 Django가 소통하는데 필요한 일종의 프로토콜입니다.

 

여기서 manage.py를 이용해 개발 서버를 실행해 보겠습니다!

-. python manage.py runserver 커맨드를 쳐줍니다! 그럼 아래와 같이 코멘트 창에 나오는 데요 여기서 http:로 시작하는 것이 개발 서버입니다! 

개발 서버 실행

해당 주소를 인터넷에 치면 저의 Django 프로젝트의 개발 서버에 들어갑니다!! 시작이 반이라더니 벌써 반이나 한 것 같습니다 ㅎㅎ 여기서 간단히 위의 주소가 뜻하는 것을 짚어보자면 127.0.0.1이라는 IP8000번 Port를 뜻합니다. 127.0.0.1은 지금의 내 컴퓨터를 가리키는 주소입니다. 실제로는 위의 python manage.py runserver 뒤에는 IP와 port가 숨어져 있습니다.

 

추가로 runserver에 대해 조금 더 살펴보겠습니다. Django 코드를 작성하여 결과를 확인하기 위해서는 runserver를 이용해서 서버(server)를 실행해 주어야 합니다. 서버를 실행하면 웹 브라우저를 통해 내가 만든 Django 프로젝트에 접속할 수 있습니다. 여기서 웹 브라우저로 접속 시 Django 프로젝트를 보여주는 역할을 하는 것을 서버라고 합니다. 즉, Django프로젝트를 실행하고 보여주는 역할을 하는 것을 서버라고 생각하면 됩니다. 저는 노트북에서 작업 중이므로 노트북이 서버가 됩니다 ㅎㅎ

 

Django의 장점은 Django프로젝트를 실행하고 있는 중에 Django 코드를 변경할 경우 변경된 작업 결과를 확인할 수 있는 개발 서버를 자체적으로 제공합니다. 저희는 새로 고침 버튼만 눌러 변경 사항을 볼 수가 있습니다! (주의할 점은 새로운 파일이 추가되는 등의 작업은 서버를 다시 실행해 주어야 합니다!)

위에서 Django 개발 서버라고 하였는데요, 여기서 개발 서버라고 한 이유는 보안과 관련된 사항이나 성능을 보장하지 않는 확인용 서버이기 때문입니다.(실제 배포 시에는 따로 웹서버를 사용해 배포해 주어야 합니다)

728x90
반응형

'Python > Django' 카테고리의 다른 글

Web - URL(1)  (0) 2021.07.05
Web - MVC/MVT Architecture  (0) 2021.07.04
Web - Django App  (0) 2021.07.02
Web - Django 설치하기(2)  (0) 2021.06.30
Web - Django 설치하기  (0) 2021.06.30

댓글