Django
#
Find similar titles
- 최초 작성자
- 최근 업데이트
Structured data
- Category
- Programming
Table of Contents
Python 기반의 웹 어플리케이션 프레임 워크, Django #
웹 어플리케이션을 만들다 보면 기본 알멩이는 같을 수 밖에 없다. 여러 화려한 기능이라고 하여도 기본은 데이터를 읽고 기록하고 웹으로 보여주는 것이다. 이런 공통적인 내용을 웹 어플리케이션을 만들 때 마다 반복해서 구현하는 것은 매우 번거로운 작업이기에 이러한 것들은 미리 만들어 놓은 라이브러리를 프레임워크라 한다. 이 중 Django는 Python 기반으로 만들어진 웹 어플리케이션 프레임워크이며 Python과 HTML을 다룰 줄 아는 사람이라면 손쉽게 웹 어플리케이션을 만들 수 있는 장점을 가지고 있다.
MVC? MVT? #
보통의 웹 어플리케이션은 MVC(Model, View, Controller)의 구성을 가지고 있다. Django는 MVT(Model, View, Template)의 구성을 가진다고 하지만 역할은 똑같다.
Model은 데이터베이스를 다루는 부분으로 데이터를 읽고 쓰는 부분에 대한 역할을 담당한다.
Controller는 Model에서 가져온 데이터를 가공하여 필요한 형태로 다시 만드는 역할을 한다. 사용자에게 보여주기 좋은 형태로 가공하는 부분이라고 생각하면 된다. Django에서는 View가 이 역할을 한다.
View는 Contoller에서 만들어진 데이터를 실제 사용자가 볼 수 있도록 보여주는 부분을 말한다. HTML로 만들어 웹으로 보여주는 부분을 생각하면 된다. Django에서는 Template가 이 역할을 한다.
통합 개발환경에서 Django 프로젝트 사용하기 #
통합 개발환경으로 가장 인기있는 이클립스(http://www.eclipse.org)에서 Django 어플리케이션 개발에 대해 설명한다. 파이썬이나 자이썬 개발에 사용할 수 있는 개발환경도 많이 있지만, 이클립스의 경우 PyDev(http://pydev.org/)로 알려진 플러그인을 통한 파이썬, 자이썬 어플리케이션을 유지하기 위한 많은 지원을 제공하고 있다.
이클립스(Eclipse) #
현재(2015년 3월) 이클립스 최신 버전은 이클립스 Luna(4.4.2)이다. 안탑깝게도 PyDev 플러그인이 온전히 지원되지 않은 사소한 사용 불편이 존재 하기 때문에 되도록 이면 이클립스 Juno(4.2) 버전을 사용하는 것을 추천한다. Juno 이후 버전은 JDK(Java Development Kit) 1.7 이상이 설치 되어 있어야 한다. (1.7 이하도 사용은 가능하지만 이클립스 플러그인 개발 등을 위해선 1.7 이상을 권장하고 있다.)
이클립스 설치는 이클립스 공식 싸이트에서 무료로 제공하고 있으며, 다음 URL에 접속해 직접 다운로드 받을 수 있다. 설치는 간단하게 다운로드 받은 압축파일을 원하는 위치에 압축해제 하면 끝난다.
- 다운로드 URL : http://www.eclipse.org/juno/
PyDev 설치 #
이클립스 자체에는 파이썬이나 자이썬 지원이 포함되어 있지 않기 때문에 파이썬 개발에 특화된 플러그인을 설치해야 한다. PyDev는 가장 많이 사용되는 파이썬 지원 플러그인으로 http://pydev.org/download 에서 다운로드 받아 직접 이클립스에 설치할 수도 있으며 이클립스 내 소프트웨어 업데이트 메뉴를 통해 설치가 가능하다.
플러그인 설치는 이클립스를 실행하고 "Help > Install New Softwar..." 로 가서 Work with 입력상자에 http://pydev.org/updates 를 입력하면, PyDev에 대한 항목이 표시된다. PyDev 만 선택하고 다음 버튼을 눌러 마법사를 따라 진행하면 설치가 진행된다. 최종 단계까지 진행이 완료되면 이클립스를 재가동하겠느냐는 알림 메시지가 뜨고 확인을 눌러 이클립스를 재가동하면 "Window > Preferences" 를 선택해 환경설정창의 트리메뉴에서 PyDev 플러그인 항목이 추가된 것을 확인할 수 있다.
PyDev 설정 #
PyDev의 Django 프로젝트를 생성하기 전에 사용 가능한 파이썬 인터프리터가 어느 것인지 PyDev에 알려주어야 한다. 파이썬 인터프리터는 시스템에 설치된 파이썬을 말하는 것으로 버전별로 여러개의 인터프리터를 추가할 수도 있다. 설치된 인터프리터의 종류가 무엇인가에 따라 환경을 설정해 준다. 여기선 파이썬이 아닌 Java버전의 파이썬 인터프리터인 Jython 2.5.2 설치를 기준으로 설명하겠다. 파이썬의 경우도 설정 방법은 동일하게 적용하면 된다.
- 환경설정창의 PyDev 의 Interpreters의 Jython Interpreter를 선택한다.
- Jython Interpreter 화면에서 New 버튼을 눌러 설치된 Jython 폴더의 jython.jar 파일을 선택한다.
- 정상적으로 선택이 되면 Jython 실행 환경이 자동으로 등록된 것을 탭 패널을 통해 확인할 수 있다.
Django 프로젝트 생성 #
"File > New > Others" 를 실행해 생성 창의 PyDev에 PyDev Django Project 가 있는 것을 확인 할 수 있다. PyDev Django Project 생성 마법사를 따라가면 손쉽게 Django 프로젝트를 생성할 수 있다.
- 프로젝트 생성 마법사의 첫 단계에선 생성할 프로젝트 이름과 프로젝트 유형(python or jython), 파이썬 문법의 버전 선택 후 Next 버튼 클릭
- Reference Page 에선 동일 워크스페이스에 있는 다른 python 프로젝트를 참고할 수 있다. 아무것도 선택하지 않고 Next 버튼 클릭.
- Django Setting 에선 기본적으로 사용할 데이터베이스 설정을 입력한다. sqlite3 가 기본으로 등록이 되어 있으며, 프로젝트 생성 예제이기 때문에 기본설정을 유지하고 Finish 버튼 클릭
모든 단계가 끝나면 Package Explorer 뷰에 새로 생성된 Django 프로젝트가 추가된 것을 확인할 수 있다. 프로젝트 생성이 완료 되면 파이썬 모듈을 추가해 서비스 모듈을 생성한다. 파이썬 모듈 생성 역시 프로젝트 생성과 마찬가지로 PyDev 마법사를 이용해 쉽게 생성할 수 있다. 마법사를 통하면 Django settings도 자동으로 되기 때문에 생성 후 별도의 설정을 수행할 필요가 없다.
Django 프로젝트 실행 #
통합개발환경에서 직접 Django 웹 어플리케이션을 실행하고 디버깅까지 할 수 있어 찾기 어려운 오류를 발견하거나 자료구조까지 확인할 수 있어 매우 유용하다.
- Package Explorer 에서 Django 프로젝트 선택
- 오른쪽 마우스 버튼을 클릭해 컨텍스트 메뉴에서 "Run As" 선택
- 하위 메뉴 "PyDev : Django" 선택
-
Console 창을 통해 프로젝트 실행결과 확인
Validating models... 0 errors found Django version 1.2.3, using settings 'module.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
-
웹 브라우저 주소창에 "http://127.0.0.1:8000/module"을 입력한 후 이동하면 Django 웹 어플리케이션 화면을 확인할 수 있다.
Incoming Links #
Related Data Sciences (DataScience 0) #
- Cache machine
- Celery with Django
- Django Test Driven Development with Docker
- Django/Class based view
- Django/DatabaseTips
- Django/Deploy방법
- Django/Model field validation
- Django/QuerySet API reference-1
- Django/Testing
- Django/Testing/TestCase
- Django/Tips
- Django/postgres-extra
- Jupyter in Django
- django-filebrowser
- 데이터 백업
- 트랜잭션
Related Articles (Article 1) #
Suggested Pages #
- 0.581 삭제요청
- 0.133 Substitution matrix
- 0.077 phage display technology
- 0.046 spring/Spring Test
- 0.020 CPython
- 0.018 Seongsu
- 0.015 pcr
- 0.014 객체 지향
- 0.014 bacteriophage
- 0.012 Hyungyong Kim
- More suggestions...