Django 시작하기

박도준·2020년 7월 7일
4

Django+AWS+MySQL

목록 보기
1/6
post-thumbnail
post-custom-banner

우선 Django를 시작하기에 앞서 Django가 무엇인지 간단하게 알아보겠습니다.

Django란?

Django는 파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크입니다.
쉽고 빠르게 웹사이트를 개발할 수 있도록 돕는 구성요소로 이루어진 웹 프레임워크입니다.

프레임워크

여기서 프레임워크라는 작업장을 만들어 둔 이유는 무엇일까요?
웹 서비스를 하려면 기본적인 기능(사용자 회원가입, 로그인 등)들을 제공해야 하는데, 이러한 기능들을 미리 만들어 놓은 것이 바로 프레임워크의 역할입니다.

장고MVC(Model-View-Controller)를 기반으로 한 프레임워크입니다.
하지만 장고에서는 View를 Template, Controller를 View라고 부릅니다.
장고에서 View는 데이터를 가져오고 변형하는 컴포넌트인 반면에 Template는 데이터를 사용자에게 보여주는 컴포넌트입니다.
그래서 장고를 흔히 MTV(Model-Template-View)프레임워크라고 부르기도 합니다.

장점과 단점

장점

  1. python을 기반으로 두기 때문에 익히기 쉽다.
  2. 익히기 쉬운 만큼 개발속도도 빠르고, 코드 완성도를 높게 유지할 수 있으며 확장성도 좋다.
  3. 웹 애플리케이션이 제공되어야하는 사용자 인증, 사용자 관리 등 기본적으로 기능 구현이
    되어 있다.

단점

  1. python의 단점을 대부분 포함한다.
  2. 성능이 다른 웹 애플리케이션 프레임워크(node.js 등)보다 좋지 않다.

장고 설치하기

장고는 파이썬 웹 프레임워크이므로, Django는 파이썬이 필요합니다.

파이썬이 설치가 안되어 있다면 우선 파이썬 설치를 먼저 해야합니다.(설치는 여기)

파이썬을 설치하고 확인해보려면 윈도우의 경우 cmd창을 열어

python --version

을 치면 아래와 같이 버전을 확인할 수 있습니다.

파이썬이 설치되었다면 장고를 설치해 보겠습니다.

우선 python이 설치된 경로에서 Scripts 디렉토리로 이동합니다.

그리고 아래와 같은 명령어를 통해 장고를 설치합니다.

python -m pip install Django

조금 기다리면 설치가 완료됩니다.


장고 프로젝트 시작하기

cmd에서 cd 명령으로 코드를 저장할 디렉토리로 이동한 후, 다음의 명령을 수행합니다.

django-admin startproject [프로젝트 이름]

이 명령은 현재 디렉토리에서 [프로젝트 이름]으로 디렉토리를 생성할 것입니다.

프로젝트를 생성할 때, python 또는 Django에서 사용 중인 이름은 피해야 합니다.
(ex. "_django", "_test" 등)

프로젝트에 어떤것이 생성되었는지 확인해 보겠습니다.

mysite/    
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
  • 외부 mysite/root 디렉토리는 프로젝트를 위한 container입니다.

  • manage.py : Django 프로젝트와 다양한 방법으로 상호작용하는 커맨드라인의 유틸리티 입니다.

  • mysite/ 디렉토리 내부에는 프로젝트를 위한 실제 Python 패키지들이 저장됩니다. 이 디렉토리 내의 이름을 이용하여, (mysite.urls와 같은 식으로) 프로젝트의 어디서나 Python 패키지들을 import할 수 있습니다.

  • mysite/__init__.py : Pyhton으로 하여금 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 단순한 빈 파일.

  • mysite/settings.py : 현재 Django 프로젝트의 환경 및 구성을 저장합니다.

  • mysite/urls.py : 현재 Django project 의 URL 선언을 저장합니다. Django 로 작성된 사이트의 "목차" 라고 할 수 있습니다.

  • mysite/asgi.py : 현재 프로젝트를 ASGI 호환 웹 서버가 프로젝트에 사용할 수 있는 진입점

  • mysite/wsgi.py : 현재 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점입니다.


개발 서버

장고 프로젝트가 제대로 동작하는지 확인해 보겠습니다.

mysite 디렉토리로 이동하고, 아래의 명령어를 입력합니다.

python manage.py runserver

그러면 아래와 같은 화면의 출력을 볼 수 있습니다.

자신의 웹 브라우저 http://127.0.0.1:8000/ 을 통해 접속할 수 있습니다.

profile
Better late than never
post-custom-banner

0개의 댓글