프로그래밍/Python

[Django] 장고 기초 - (1) 개요 및 개발 환경 구성

Churnobyl 2023. 4. 14. 22:29
728x90
반응형

 

Chapter 01.  풀스택 웹개발 프레임 워크: 장고(Django) 

 

 Python을 기반으로 만들어진 풀스택 프레임워크로 앱의 재사용성(Reusable App), 플러그인성(Plugability) 등의 철학을 강조한다.

즉, 한번 작성한 코드(앱)를 여기저기 활용하는 것이 가능하다는 것이다.

Django는 캔자스시티 로렌스라는 도시에서 출간되는 신문, Lawrence Journal-World의 두 웹 프로그래머가 2003년 만들었으며 개발 당시 Django ReinHardt라는 재즈 기타리스트의 노래를 들으면서 만든 영향으로 이 프레임워크에 Django란 이름이 붙게 되었다.

Date vs Github stars

 Django는 2021년 Github star 기준 가장 많은 star수를 가진 프레임워크다.

이는 그만큼 많은 사용자들과 이에 따른 수많은 레퍼런스가 존재할 가능성이 크다.

따라서 파이썬을 이용한 웹개발을 하기 위해서는 Django를 배우는 것이 적절해보인다.

 

장고를 기반으로 만들어진 웹사이트

장고를 기반으로 만들어진 대표적인 사이트는 인스타그램, 요기요, 번개장터, 센드버드 등이 있다.

 

MVC패턴

 Django는 MVC패턴을 따르는데, MVC패턴이란 개발 방법론의 한가지로 하나의 소프트웨어를 역할에 따라 Model, View, Controller 세 가지 파트로 나눠서 개발하는 패턴이다. Model은 데이터를 저장하고 View는 사용자에게 보여지는 시각적인 부분, Controller는 사용자의 입력을 받아서 내부 로직을 처리하는 것이다. 이러한 패턴을 성공적으로 사용하면 서로 간섭하는 부분없이 쉽게 수정/업데이트하는 애플리케이션을 만들 수 있다.

 

 다시, Django는 MVT구조(MVT Architecture)를 가진다. 위와 어떤 차이가 있느냐 할텐데 MVT구조에서 Model의 역할은 동일하며 View의 역할은 Template이, Controller의 역할은 Django프레임워크가 일부 직접 처리해주고 나머지 부분을 View가 처리한다.

 즉 다음과 같다.

MVC패턴                MVT구조(Django)
Model         =>        Model
View           =>        Template
Controller   =>        View    (+Django Framework)

Controller부분의 일부를 Django프레임워크가 직접 처리하므로 개발자는 Model, Template, View에 초점을 두고 훨씬 편리하고 빠르게 개발에 집중할 수 있다.

 

 

 


Chapter02. 개발 환경 구성

파이썬이 이미 운영체제에 설치되어 있다고 가정하고 VScode기준으로 설명한다

 

1. 폴더 만들기

터미널을 열고 프로젝트를 시작할 새로운 폴더를 생성한다

mkdir <폴더이름>

그리고 cd 커맨드로 해당 폴더로 이동한다

cd <폴더이름>

 

 

2. 가상환경 구성하기 (virtualenv)

아래 명령어를 터미널에 입력해 이 프로젝트 안에서만 사용할 새로운 가상환경을 만들어준다

python -m venv venv

마지막 venv는 가상환경 폴더 이름은 djangovenv라던지 어떤 이름으로 해도 상관없다. 관행적으로 venv라고 쓴다

이제 생성한 폴더 아래 venv라는 새로운 폴더가 생겼을 것이다.

이 안에는 이 프로젝트 안에서 사용할 파이썬(버전은 운영체제에 설치된 버전에 따라 상이)과 기본 패키지가 설치되어 있다.

 

다음으로는 생성한 가상환경을 자신의 환경에 맞게 실행시켜주자

  •  리눅스나 유닉스 기반 터미널(MacOS, git bash등등..)
source ./venv/bin/activate
  • Windows(cmd등)
./venv/Scripts/activate.bat
  • Windows PowerShell
./venv/Scripts/activate.ps1

잘 모르겠으면 대충 하나씩 터미널에 입력해서 실행시켜보자

 

위와 같이 venv가 실행되었다는 표시가 뜨면 성공이다.

이제 우리는 가상환경을 사용할 수 있다

만약 가상환경을 종료하고 싶다면 deactivate명령어를 입력하면 된다.

 

3. 장고 설치하기

이제 가상환경 안에 django를 설치하자

pip install django

위 명령어를 입력하면 자동적으로 장고를 설치한다

이런 식으로 나왔다면 장고가 설치된 것이다.

 

 

4. 장고 프로젝트 생성하기

프로젝트를 생성하기 위해선 django-admin이라는 명령어를 사용한다

django-admin startproject <프로젝트 이름>

그럼 위와 같이 imtest 프로젝트 폴더가 생성된다.(각자 적은 프로젝트 이름에 따라 다름)

 

5. 로컬서버 실행하기

프로젝트 설치까지 완료했으니 이제 잘 작동하는지 실행시켜보자

cd imtest

위 명령어를 이용해 프로젝트 폴더 내부로 이동한 뒤 아래 명령어를 입력해주자

python manage.py runserver 8000

8000은 생략 가능하다.

만약 

위와 같은 화면이 나오고 응답코드 200이 출력됐다면 서버가 정상적으로 실행된 것이다.

이제 ctrl+click으로 화면에 보이는 http://127.0.0.1:8000/ 을 눌러보자

 

위와 같은 화면이 나왔다면 정상적으로 서버가 실행된 것이다.

 

반응형