2019.04.19 장고시작하기
(TIL은 스스로 이해한 것을 바탕으로 정리한 것으로 오류가 있을 수 있습니다)
# 질문에 답하기
- 장고란 무엇인가?
장고란
파이썬으로 작성된 오픈 소스 웹 애플리케이션 프레임워크로 모델 - 뷰 - 컨트롤러(MVC) 패턴을 따르고 있다.
고도의 데이터베이스 기반 웹사이트를 작성하는데 있어서 수고를 더는 것이 장고의 주된 목표!
컴포넌트의 재사용성과 플러그인화 가능성 빠른 개발등을 강조하고 있다.
- 컴포넌트 : 소프트웨어 시스템에서 독립적인 업무 또는 독립적인 기능을 수행하는 모듈로서 이후 시스템을 유지보수하는데 있어 교체가 가능한 부품
- 플러그인 : 웹 브라우저의 표진 기능을 확장해주는 프로그램을 의미한다.(flash, pdfreader등)
장고의 특징
- MVC 패턴 기반 ( Model - View - Controller)
- 장고에서는 view를 Template, Controller를 View라고 부르므로 MTV 프레임워크라고 부르기도 한다.
- 우아한 URL 설계
- URL형태를 개발자가 직접 결정할 수 있고 각 URL형태를 파이썬 함수에 직접 연결하도록 되어 있어 개발이 편리하고 이해하기 쉽다.
- 관리자 웹 인터페이스 제공
- 사용자 관리, 사용자 그룹관리, 권한 뿐만 아니라 모델 객체에 대해서도 목록, 추가, 삭제, 변경의 기능이 관리자 인터페이스에서 모두 제공되어 웹 어플리케이션을 실험해보기에 좋다.
장고 시작하기
프로젝트 할 폴더 생성
- 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라는 폴더 생성
- 위와 같이 진행하고 나면 위의 구조로 파일이 생성된다.
데이터베이스 설정
- python3 manage.py migrate : 현재 장고 프로젝트에서 데이터베이스를 어떤 식으로 저장할지에 대한 자동설정
- python manage.py runserver : 장고 서버 시작
이까지 진행하면 장고 서버를 시작하여 웹사이트 운영을 시작할 단계가 되었다.
- 다음부터는 장고의 MVC 패턴 기반 ( Model - View - Controller)에 맞추어서 하나씩 추가적으로 설명해보려고 한다. django 02. 에서 Model에 대해 추가적으로 알아보자!