장고는 flask와 비슷한 파이썬 프레임워크이다. 다시 말하면, 웹 개발에 필요한 다양한 기능을 통합하여 제공하는 일종의 라이브러리라고도 할 수 있겠다. 다만 플라스크는 아주 기본적인 기능만을 제공하는 데에 비해 장고는 관리자 페이지나 데이터베이스 연결 등 웹 구현에 필요한 보편적인 기능들을 미리 포함하여 제공하고 있다.
파이참 프로버전을 통해 미리 장고를 import 하고 환경설정을 할 수 있다. 프로젝트를 만들 때 파이썬 아래에 있는 Django 버튼을 클릭하면 파이참 인터프리터가 알아서 가상환경과 장고를 세팅해 준다.
실행한 뒤 아래의 파란색 링크를 누르고 내가 url에 설정해둔 path를 입력하면
이렇게 화면이 뜨는 것을 볼 수 있다.
Model, View, Template의 약자로, 장고의 동작 원리를 보여준다.
Model : 데이터베이스의 모델, 즉 사용되는 데이터의 모습 혹은 형태를 말한다.
View : 실질적으로 프로그램이 동작하는 곳. 우리는 View 에서 우리가 보여줄 웹을 개발한다.
Template : 사용자에게 실질적으로 보여지는 부분 html과 css가 들어간다.
보통 우리가 데이터베이스를 웹에 연결하면 쿼리문을 보내 답을 받아오는 형식으로 필요한 부분을 데이터베이스에서 전달받는다. 그렇지만 장고의 ORM은 파이썬으로 클래스를 만든 뒤 이를 바탕으로 해 자동으로 필요한 부분을 받을 수 있도록 도와준다. 말하자면, 굳이 쿼리문을 작성하지 않아도 간편하게 데이터베이스에서 데이터를 가져올 수 있다는 말이다.
예시
class Post:
id = IntegerField()
title = CharField()
author = CharField()
context = TextField()
장고로 프로젝트를 만들기 위해서는 우선 구성요소를 알아보아야 한다.
이중 settings는 장고와 관련된 대부분의 요소를 다루고 있는 파일로, 우리가 만들고 실행하려는 앱이나 데이터베이스 관련 정보 또한 이곳에 입력해주어야 실행할 수 있다.
예
$ django-admin startapp user
$ django-admin startapp tweet
을 통해 user 폴더와 tweet 폴더를 만들어 준 뒤
installed_apps에 입력해주어야 장고가 내가 만든 폴더를 인식한다.
이후 views.py에 보여주려는 웹을 구현한 뒤
urls.py에 구현한 웹을 라우팅 시켜준다.
이후 링크를 클릭한 뒤 알맞은 경로를 입력해주면 내가 views.py에 구현한 내용이 화면에 출력되는 것을 볼 수 있다.