본문 바로가기

Python/Django

[Django] Django 입문하기

언젠가 한번 파이썬으로 웹을 만들어보고 싶다는 생각을 했다. 그렇게 미루기만 하다가 회사에서 남는 시간에 Django를 공부해보기로 했다. Django 입문용 책을 찾다가 접하게 된 [이한영의 Django(장고) 입문] 굉장히 따라가기 쉽게 자세히 설명되어 있다. 앞으로 배운 내용을 복습겸 간단하게 적어보고자 한다.

일단 Django가 무엇인지 알아보자. 

 

Django란 파이썬으로 작성된 웹 프레임워크이다. 웹 프레임워크는 다양하다. javascript, fastAPI, Flask 등등.. 많은 웹 프레임워크들 중에서 Django를 선택한 이유는 음.. 제일 대중적이어서..?? 그리고 많은 기능들도 있다고 하니 배워보고싶은 생각이 들었다. 제일 최근에 나온 fastAPI는 기회가 되면 배워보고싶다. 일단 웹 프레임워크에 익숙해지면 금방 배울 수 있지 않을까 싶다. 이 책은 크게 4개의 파트로 나누어져있다.(앞으로의 피드는 프로젝트의 이름과 내용을 조금 변형하여 작성할 것이다.)

PART 01. Django 웹 개발 준비

PART 02. pyburger 프로젝트

PART 03. pylog 프로젝트

PART 04. pystagram 프로젝트

 

기본적으로 알아야할 배경지식으로 파이썬 기초와 HTML, CSS가 있다. HTML과 CSS를 제대로 배워본 적은 없지만 개념은 알고있기에 도전해본다. 

알고 시작하면 좋을 것 같은 개념이 있다. Django의 디자인 패턴이다. 생소한 단어이지만 프로젝트를 어느정도 진행하고나니 많이 개념을 잡는데 도움이 되었다. 큰 흐름으로 봐도 좋을 것 같다.

1. 디자인 패턴

소프트웨어 디자인 패턴은 소프트웨어를 개발할 때 공통적으로 발생하는 문제들을 해결하기 위한, 재사용 가능한 해결책이다. 실제 코드를 말하는 것은 아니며 코드를 작성하기 위한 일종의 서식이다.

2. MTV 패턴

모델-템플릿-뷰(Model-Template-View)는 디자인 패턴의 일종이며, Django에서 역할에 따라 코드를 분리하는 가이드로 사용한다.(앞으로 자주 보게될 용어들이다)

2-1. Model

모델은 Django와 데이터베이스를 연결시켜주는 코드이며 데이터의 형태를 나타낸다. 일반적으로 각각의 모델은 데이터베이스 테이블과 매핑된다.

2-2. Template

템플릿은 웹 브라우저로 돌려줄 코드이며, 사용자에게 제공될 결과물의 형태를 나타낸다. HTML을 사용해서 나타내며, Django에서는 templates 디렉터리 내에 HTML 파일을 사용한다.

2-3. View

View는 사용자의 요청을 받아 처리하는 웹 사이트의 로직을 가지는 코드이다. 파이썬의 함수를 사용한다.

 

앞으로 PART 02. pyburger 프로젝트 부터 천천히 따라가면서 기록해보도록 하겠다.