1 minute read

1. Django란 무엇인가?


Image Alt 텍스트

django는 python으로 작성된 backend web framework의 일종이다. 프레임워크를 사용하여 웹을 구축하는 이유는 무엇일까? 웹 개발자들이 새로운 웹사이트를 개발시 항상 유사한 로직이 필요하게 된다. (예: 폼, 회원가입…) 이런 유사한 로직들을 빠르게 개발할수 있는 프레임워크를 개발하게 된것이다!

유사 프레임워크로 Rails(ruby), spring(java), ASP.NET(C#) 등이 사용된다.



2. MTV패턴

Django는 웹 어플리케이션을 Model, Template, View의 세가지 파트로 모듈화하고 있다. Model은 데이터베이스에 대한 엑세스를 담당하며, Template는 사용자가 직접 사용하는 페이지를 담당하고(ex: .html, .css, .js), View는 business logic을 담당한다.

사용자로부터 웹페이지 요청이 들어오면 아래와 같은 단계로 처리하여 보여주게된다.

  1. urlconf를 뒤져서 해당되는 views.py의 controller을 찾아낸다.
  2. controller는 해당되는 template과 model을 찾아 웹페이지를 만들어낸다.
  3. 만들어진(렌더링된) 페이지를 사용자에게 보여준다.



3. Hello World

그럼 Django로 웹페이지를 개발하기 위한 환경을 구축해보자.

1. Python 설치하기

필자는 맥북으로 개발하고 있어서 맥 기준으로 설명을 해보고자 한다. 패키지 관리자는 homebrew를 사용하며 터미널에 다음 명령어를 입력하여 설치한다.

brew install python3

맥의 경우 기본적으로 Python 2.0이 구축되어 있다. 하지만 Django는 Python 3.0 기반으로 동작하기 때문에 Python 3.0의 설치가 필요한것이다. 추후 명령어 입력시도 Python 이나 pip가 아닌 Python3나 pip3를 사용하도록 하자

2. virtualenv 설치하기

귀차니즘이있다면 4번과정으로 진행해도되지만 가상환경을 통해 여러개의 프로잭트가 독립적으로 동작하는것이 가능하다. 따라서 착한 어린이는 반드시 설치하도록 하자

brew install virtualenv

3. virtualenv로 가상환경 만들기

다음 명령어를 통해 가상환경을 만들수 있다.

virtualenv Django-101_venv

그럼 Django-101_venv 폴더가 생성되며 가상환경이 생성된다. 이제 다음명령어를 이용해 가상환경을 활성화 할수 있다.

source Django-101_venv/bin/activate

만약 현재 폴더가 Django-101_venv라면 아래와 같이 하면 된다!

source bin/activate

가상환경을 활성화하면 현재경로 앞에 (Django-101_venv)가 붙어있음을 확인할수 있다.

Image Alt 텍스트

만약 가상환경을 비활성화하고 싶으면 터미널에 ₩deactivate₩만 치면 된다.

4. Django 설치하기

이제 Django를 설치해보자! 터미널에 다음 명령어를 입력하여 설치를 진행한다. mac 유저들은 pip3를 사용해야함에 유의하자

pip3 install django

5. hello world!

이제 설치된 django가 문제없이 잘 작동하는지 다음명령어로 새로운 Django Project를 만들수 있다. 명렁어 수행후 다음과 같이 프로젝트 폴더가 생성된다.

django-admin startproject Django_101

Image Alt 텍스트

프로젝트 폴더로 이동한후 다음 명령어를 실행해보자

python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py runserver

문제없이 진행되었다면 다음화면을 볼수 있다.

Image Alt 텍스트

이화면에 있는 http://127.0.0.1:8000/ 로 이동해보자 만약 다음의 화면이 보인다면 이제 Django로 웹을 개발할 준비가 완료된것이다.

Image Alt 텍스트

현재 가상환경 폴더인 ‘Django-101_venv’ 와 프로젝트 폴더인 ‘Django_101’가 새로 생성된 상태이다. 깔끔하게 가상환경 폴더를 프로젝트 폴더로 넣어주면 준비는 정말로 끝나게 된다.

하지만 이처럼 가상환경폴더를 다루기 힘든 문제가 있어서 심화과정에서 mkvirtualenv를 통해 깔끔한 가상환경제어를 다루어보려 한다.

Leave a comment