본문 바로가기
개발 이야기/웹 개발 배우기

파이썬으로 복잡한 웹페이지도 간단하게 만들 수 있다고 하던데..(feat. django)

by AI 동키 2021. 2. 3.
반응형

django 를 아시나요?

파이썬 왕초보가 django를 이용해 웹페이지를 만들어 가는 과정을 포스팅 해 보려합니다.

실습 보다는 제가 배우는 것들, 느끼는 것들 위주로 작성될 예정입니다.

 

 

 


 

django는 python기반 오픈소스 파이썬 웹 프레임워크 입니다.

드장고 아니고 쟝고 라고 읽으면 되겠습니다. 장고 보다 지양고, 쟝고로 읽어야 좀 더 느낌이 나요.

파이썬 웹프레임워크라 함은 웹페이지를 만들 수 있는 도구들을 모아놓고 파이썬 언어를 기반으로 작동되는 체계(?) 입니다. 제공하여 조립식으로 웹페이지를 만들어 버릴 수 있게 되는 거죠.

처음 웹페이지 제작을 하게 되면 회원가입 시 사용자 인증은 어떻게 할지, 비밀번호는 어떻게 비밀스럽게 처리할지, 아주 하나부터 열까지 막히게 되죠. django를 사용하면 회원가입 모듈 하나를 뚝딱 쓰면 된다는 것입니다.

 

개꿀?

 

항상 여러가지 아이디어가 떠오르는 저에게 웹 페이지를 뚝딱 만들어 낼 수 있는 능력이 생긴다면 얼마나 좋을까 오랫동안 생각했습니다. 하지만 실행에 옮기진 않았죠.

아주 천천히 HTML로 건드려보고, CSS도 건드려보고, Java script도 건드려보고, 

웹 디자인도 해보고, 서비스 기획도 해보고, UI/UX 기획도 해보고,,, 

(뭘 엄청 많이 하긴 했네요 :-o ) 늘 최종 개발은 남에게 맡기는 기획 관리자 역할을 해왔습니다.

 

이렇게 한참 어려운 것은 피해오다가 이제서야 도전하기로 마음 먹었습니다.

왜냐하면 만들어보고 싶은 웹페이지가 생겼기 때문이죠!

 

 


 

그래, 한번 해보자

오랜만에 예전에 깔아두고 깔짝이던 Anaconda Navigator 를 열어보니, 업데이트를 하라고 하네요.

Anaconda Navigator 업데이트 하기!

를 수행하고 다시 돌아와 예전에 깔아만 뒀던 django와 더불어 모든 라이브러리들을 업데이트 해주었습니다.

그리고 전에 사 놓은 먼지가 쌓여버린 책!을 꺼내어 펴 들었습니다. 

- 이미지 클릭 시 도서를 구매 하실 수 있습니다 - 

제목은 django 한그릇 뚝딱!

 

아주, 많이 까먹었습니다. 하나하나 차분하게 클리어하면서 진행해 보았습니다. 우리에겐 앞서 나간 훌륭하신 분들을 책과 구글과 유튜브를 통해 만나볼 수 있습니다. 

 


 

오늘의 성과

오늘 169페이지까지 가 보았습니다.

엄청 많이 본것 같은데 사실 앞부분은 거의 Python설치 Python의 기초, 가상환경 설정 기타 등등 이었어요. 이 정도는 다행히 과거의 제가 어느정도는 다 해놨더군요. 

오늘의 성과는 To do list를 만들었습니다. 

할일을 추가하고, 추가한 항목들을 같은 페이지에서 보여주고, 완료된 일을 삭제할 수 있는 기능을 가진 아주 훌륭한 웹사이트를 제 손으로 만들어버렸습니다. 단 3시간만에!!!!

 

3시간동안 책을보고 django를 다루어본 저의 소감은, 

1. 쉽긴 한데, 쉽지많은 않다.

기본적으로 웹에 대한 이해와, 파이썬에 대한 기초 지식이 있으면 진도가 좀 빨리 나갈 수 있습니다.

물론 책에 간략히 설명이 다 나와있습니다만, 항상 기초가 중요합니다. 하지만 기초만 보다가는 진도를 평생 못빼는 수가 있습니다. 파이썬의 기초를 재빨리 훑어보고 진도를 빼면서, 부족한 부분을 채워나가는게 프로그래밍 공부하는 방법이라고 했습니다.

2. django는 위대하다!

django를 사용하면 웹 개발이 매우 단순해 진다는 점이 아주아주 매력적입니다.

Java script의 기능적인 부분, 데이터베이스를 만들고 거기에 CRUD(Create, Reade, Update, Delete --> 만들고 읽고 지우고)하는 부분, 웹어플리케이션을 구성하는 부분 들이 매우 간편하고 쉽게 이루어져 있어서 익숙해지면 매우 쉽고 빠르게 괜찮은 웹페이지를 만들 수 있을 것 같다는 느낌이 와요. (사실 아직은 이해가 잘 안됨.)

django는 MVC 패턴이 특징이라고 합니다.

MVC(Model, View, Controller) 
1) Model : Database 즉 Back-End
2) View : HTML, CSS, Javascript를 담을 수 있는 Front-end
3) Controller : 사용자 제어를 할 수 있는 부분. 사용자의 활동과 CRUD를 이어주는 부분.

Python 언어와 django 프레임워크의 이해를 통해 풀스택 웹개발을 할 수 있다는게 정말 매력적이죠.

 


 

FrontEnd까지 예쁘게 제대로 만드려면 React 나 Vue.js 도 알면 좋아요.

Django로 다져놓은 백단을 React나 Vue.js로 더 쉽게 꾸밀 수 있습니다.

물론 Django를 이용하지 않고 구글에서 제공하는 firebase 서비스를 사용한다면 백단을 아주 Simple하게 만들어 버릴 수도 있답니다.

제가 하나하나 따라하며 React를 활용해 웹사이트를 만들어보고 있는데 구경해보시려면 아래 링크로 가보시길. 

 

[개발 이야기/파이썬 초보의 웹사이트 도전 일지] - 따라하며 만드는 웹사이트 E01 : 환경설정

 

따라하며 만드는 웹사이트 E01 : 환경설정

이 문서는 유튜버 코딩견 히치님의 웹사이트 강의를 하나하나 따라하며 남기는 노트이다. 웹사이트를 빨리 배워야 하는 내가 선택한 강의이다. 일단 끝까지 들어보고 평을 남겨보도록 하겠다. w

lapina.tistory.com

[개발 이야기/파이썬 초보의 웹사이트 도전 일지] - 따라하며 만드는 웹사이트 E02-1 : HTML, CSS, JS, React 구조

 

따라하며 만드는 웹사이트 E02-1 : HTML, CSS, JS, React 구조

이 문서는 유튜버 코딩견 히치님의 웹사이트 강의를 하나하나 따라하며 남기는 노트이다. 웹사이트를 빨리 배워야 하는 내가 선택한 강의이다. 일단 끝까지 들어보고 평을 남겨보도록 하겠다.

lapina.tistory.com

 

 

여러 검색을 해보면 django + vue 조합으로 웹 프로그래밍을 많이 하는것 같습니다.

웹개발 프레임워크는 아래와 같이 굉장히 많습니다.

 

본인에게 적합한 조합을 찾아보시기 바랍니다.

 

현재로써는 React 가 가장 유명하고 많이 사용된다고 합니다.

하지만 제 개인적인 견해로는 Vue.js가 React 보다 초보가 배워나가기 훨씬 간단하다고 생각되요.


Flask

Django와 비슷하게 파이썬 기반 웹 개발 프레임워크인 Flask가 있어요. Flask는 Django와 비교했을 때 더 가볍고 심플한 웹페이지를 만들 때 유용하게 쓰인다고 합니다. 하지만 심플한 웹페이지 말고 복잡하고 거대한 웹페이지도 만들 수 있다고 해요. 다시말해 Django가 모든걸 갖춘 Full-stack 웹 프레임워크라면, Flask는 가볍지만 확장가능한 프레임 워크라고 합니다. 

Flask로 간단한 웹페이지를 만드는 방법이 궁금하다면 아래 글에서 확인해 보세요.

[Flask] 파이썬 코드를 웹페이지에 띄워보자! 사용자 ID 체크 웹페이지 만들기

 

[Flask] 파이썬 코드를 웹페이지에 띄워보자! 사용자 ID 체크 웹페이지 만들기

본 포스팅에서는 Flask를 활용하여 간단한 웹페이지를 만들어 볼 것이다 최소한의 html을 사용하고, python의 for문 if문을 활용한 웹페이지를 구현해 보며 동작 원리를 이해해 본다. 파이썬 공부를

lapina.tistory.com

 


오늘의 공부를 마무리하며 목표를 세웠습니다.

이 목표가 지켜질 수 있도록 천천히, 꾸준히 노력하겠습니다.

 

제 목표는 다음과 같습니다.

1. django, vue.js를 활용하여 꽤 쓸만한 웹페이지 만들기!

2. 친구를 초대하여 함께 사용하기!

3. 이를 개선해서 더 많은 사람들이 쓸 수 있게 하기!

4. 꼭 실현 되도록 노력하기!

 

 

이 도전이 어떻게 매듭지어질지

한번 지켜보시죠.

 

지켜보고있다.

 

Django 한그릇 뚝딱 책은
아래 링크에서도 바로 구매하실 수 있습니다.

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.

 

봐주셔서 감사합니다.

 

 

반응형

댓글