Byeonguk Kim

안녕하세요. 29살의 조금은 늦은 나이로 새롭게 개발자로 시작하는 신입 개발자입니다. 포트폴리오 [https://deaguowl.github.io]

Django 01. 장고시작하기

19 Apr 2019 » Django

2019.04.19 장고시작하기

(TIL은 스스로 이해한 것을 바탕으로 정리한 것으로 오류가 있을 수 있습니다)

# 질문에 답하기

  1. 장고란 무엇인가?

장고란

파이썬으로 작성된 오픈 소스 웹 애플리케이션 프레임워크로 모델 - 뷰 - 컨트롤러(MVC) 패턴을 따르고 있다.
고도의 데이터베이스 기반 웹사이트를 작성하는데 있어서 수고를 더는 것이 장고의 주된 목표!
컴포넌트의 재사용성과 플러그인화 가능성 빠른 개발등을 강조하고 있다.

  • 컴포넌트 : 소프트웨어 시스템에서 독립적인 업무 또는 독립적인 기능을 수행하는 모듈로서 이후 시스템을 유지보수하는데 있어 교체가 가능한 부품
  • 플러그인 : 웹 브라우저의 표진 기능을 확장해주는 프로그램을 의미한다.(flash, pdfreader등)

장고의 특징

  1. MVC 패턴 기반 ( Model - View - Controller)
    1. 장고에서는 view를 Template, Controller를 View라고 부르므로 MTV 프레임워크라고 부르기도 한다.
  2. 우아한 URL 설계
    1. URL형태를 개발자가 직접 결정할 수 있고 각 URL형태를 파이썬 함수에 직접 연결하도록 되어 있어 개발이 편리하고 이해하기 쉽다.
  3. 관리자 웹 인터페이스 제공
    1. 사용자 관리, 사용자 그룹관리, 권한 뿐만 아니라 모델 객체에 대해서도 목록, 추가, 삭제, 변경의 기능이 관리자 인터페이스에서 모두 제공되어 웹 어플리케이션을 실험해보기에 좋다.

장고 시작하기

프로젝트 할 폴더 생성

  • mkdir djangoproject
  • cd djangoproject

가상 환경 설치 및 실행

  • 장고의 경우 각 프로젝트에 맞게 버전을 설정하여 관리하기 위해 가상 환경 위해서 진행해주는게 좋다.
  • python3 -m venv myvenv : myvenv라는 가상환경 설치
  • source myvenv/bin/activate : myvenv / bin 폴더의 activate 실행 (가상환경실행)

가상 환경 내에서 django 설치

  • pip install django~=2.0.0 (가상 환경위에서는 자동으로 python3가 잡히므로 pip3 해줄필요 없음)

프로젝트 시작하기

  • django-admin startproject mysite . : mysite라는 프로젝트 시작
  • mysite라는 폴더 생성

장고1

  • 위와 같이 진행하고 나면 위의 구조로 파일이 생성된다.

데이터베이스 설정

  • python3 manage.py migrate : 현재 장고 프로젝트에서 데이터베이스를 어떤 식으로 저장할지에 대한 자동설정
  • python manage.py runserver : 장고 서버 시작

이까지 진행하면 장고 서버를 시작하여 웹사이트 운영을 시작할 단계가 되었다.

  • 다음부터는 장고의 MVC 패턴 기반 ( Model - View - Controller)에 맞추어서 하나씩 추가적으로 설명해보려고 한다. django 02. 에서 Model에 대해 추가적으로 알아보자!