Django 시작하기(1)

Django는 현재 파이썬의 대표적인 웹 프레임워크이다.
지난 해 회사 홈페이지를 개편하고자 할때 뭔가 좀 새롭고 안써보던 기술을 배워보고 싶다는 작은 열망이 있었다. 회사 홈페이지 개편의 주목적은 일단 해묵은 플래쉬를 걷어내는 것이었고 더불어 그동안 우리회사의 포토폴리오를 일목요연하게 정리를 하며 관리를 편하게 하고자 하는 것이었다.
그래서 이것저것 찾다가 결론 내린것은 UI는 Vue.js로 SPA기반으로 만들고자 했고 SPA기반으로 하고자 한다면 REST api가 필요했고 포토폴리오 관리를 위해서는 백오피스가 필요했다.
인력이 부족하기에 퍼블리싱, UI개발, 백오피스 개발을 혼자 해야하는 상황이었다.(퍼블리싱은 너무 힘들었다.ㅠ 그래서 나중에는 퍼블리셔에게 토스ㅠㅠ)
디비설계부터 백오피스 개발하기에는 작은 홈페이지지만 뭔가 버거웠다. 그래서 ORM기반의 기술을 찾다가 DJango로 결정을 하였다.
서두가 길었다. Python Django의 특징을 정리해 보았다.

python django

DJango특징 (공식홈페이지)

  • 객체 관계 매핑
  • 자동으로 구성되는 관리자 화면
  • 우아한 URL설계
  • 자체 템플릿 시스템
  • 캐시 시스템
  • 다국어 지원
  • 풍부한 개발 환경
  • 소스 변경사항 자동 반영

버전은 Python2.7 Django1.9 이다. 시작은 Python3.6, Django2.0으로 계획했으나 mysql연동이 지옥이었다ㅠ. mysql은 Python2.7까지에서만 안정적으로 지원되는것 같다.

Django는 mysql5.0.3이상의 버전을 지원한다.

Django설치 및 프로젝트/애플리케이션 생성

  • 가상환경을 만들고 진입한다.
    $ mkvirtualenv django1.9
    
  • pip를 이용하여 Django설치 및 버전 확인
    $ pip install Django==1.9
    $ python
    $ >>> import django
    $ >>> django.get_version()
    $ 1.9
    
  • django 프로젝트 생성
    # 프로젝트를 만들고자 하는 디렉토리로 이동 후 아래 명령 실행
    # [Useage] : django-admin.py startproject [프로젝트 이름] 
    $ django-admin.py startproject mysite
    $ tree ./mysite
    ./mysite/
    ├── manage.py
    └── mysite
      ├── __init__.py
      ├── settings.py
      ├── urls.py
      └── wsgi.py
    

하위의 mysite디렉토리는 프로젝트 디렉토리이고, 상위 mysite디렉토리는 프로젝트 관련 디렉토리/파일을 모으는 역할만 하는 디렉토리이다. 상위 mysite디렉토리는 특별한 의미를 가지고 있지 않기 때문에 이름을 변경해도 무방하다. 난 그대로 진행.

  • 애플리케이션 생성
    $ cd mysite
    $ python manage.py startapp polls
    $ tree
    .
    ├── manage.py
    ├── mysite
    │   ├── __init__.py
    │   ├── __init__.pyc
    │   ├── settings.py
    │   ├── settings.pyc
    │   ├── urls.py
    │   └── wsgi.py
    └── polls
      ├── __init__.py
      ├── admin.py
      ├── apps.py
      ├── migrations
      │   └── __init__.py
      ├── models.py
      ├── tests.py
      └── views.py
    

polls라는 애플리케이션을 만들면 해당 디렉토리와 파일들이 생성된다. 개발자가 어떤걸 만들어야할지의 고민을 하지 않아도 된다. 파일에 내용만 채워 넣으면 된다.

  • 지금까지 작업한 내용을 브라우져를 통해 확인해보자.
    $ python manage.py runserver 0.0.0.0
    

위와 같이 실행하면 로그가 콘솔에 찍히고 개발서버주소도 같이 출력이 된다. 장고는 8000번 포트를 이용한다. 로그에 나온데로 브라우져를 이용해 http://127.0.0.1:8000 또는 http://localhost:8000 로 접속해 보자. django2.0 화면이 제대로 나온다면 제대로 설치된것이다.

comments powered by Disqus