본문 바로가기

세미나

Spring 개발자의 Django 체험기

728x90

안녕하세요. 유저인사이트 박태양입니다.
2023년도 부터 사내 개발 세미나를 도입하였습니다. 많은 관심 부탁드립니다.

첫 세미나 주제는 Spring 개발자의 Django 체험기 입니다.

우선 세미나 주제로 Django를 선택한 이유부터 설명드리겠습니다.

 

Stack Overflow 기준 언어 점유율 (2022 vs 2021)
Stack Overflow 기준 웹 프레임워크 점유율 (2021)
원티드 개발 채용에 Spring, Django 키워드를 입력한 결과

 

작년대비 Java의 점유율 하락과, 이미 주류 언어 자리를 꿰차고 있는 Python을 보고

자연스레 Django 프레임워크에 관심이 갔습니다.

(하지만 국내에서는 아직 Spring 수요가 더 높은것으로 보입니다.)

Django의 특징
Django 사용처

 

Django는 빠르고, 안전하고, 확장에 용이한것을 장점으로 내세워 홍보하고 있습니다.

Django가 적용된 대표적인 서비스는 인스타그램, 모질라, 핀터레스트 등이 있습니다.

저희는 실습에 JetBrains 사의 PyCharm이라는 IDE를 사용할 예정입니다.

개발자 대부분이 IntelliJ에 익숙하기 때문에, 손쉽게 사용할 수 있을것 같습니다.

 

PyCharm에서 Django 프로젝트 생성 화면
프로젝트 첫 생성시 만나게 되는 구조

디렉토리가 크게 2개로 나뉘어져 있는데 djangoProject는 프로젝트, polls는 앱으로 분류합니다.

하나의 프로젝트에 여러 앱을 둘 수 있는 구조입니다.

 

__init__.py : 해당 디렉토리가 파이썬 패키지임을 알려줍니다.

asgi/wsgi.py : 추후에 웹 서버 배포 시 필요한 파일입니다.

setting.py : 프로젝트 세팅 및 설치된 앱 정보가 들어있습니다.

urls.py : 사용자가 입력한 url을 어디로 전달할지 정의하는 파일입니다.

 

admin.py : Django에서 기본적으로 제공하는 admin 기능을 사용하기 위한 파일입니다.

models.py : 앱에 사용될 모델을 정의합니다.

views.py : 사용자의 요청에 따라 어떤 페이지를 반환할지 정의합니다. 필요에 따라 기능도 추가될 수 있습니다. (스프링의 컨트롤러와 매우 유사합니다.)

 

templates : 추후에 템플릿 파일이 추가될 폴더입니다.

manage.py : 프로젝트에 필요한 동작을 할 수 있는 도구입니다. 관리자 계정을 만들거나 모델 변경사항을 migrate할 때 사용됩니다.

 

기본적으로 제공되는 관리자 페이지에서 데이터 추가/삭제
간단한 화면 구현을 통해 데이터 변경

 

프로젝트 구조에 대해 이해한 뒤,

JetBrains에서 제공하는 Django 기본 튜토리얼을 통해 간략히 구현을 진행하였습니다.

관리자 페이지에서 데이터를 추가하고, 관련 메서드를 통해 해당 Table을 Update 해보면서

Django 프레임워크를 체험해보는 시간을 가졌습니다.

 

개인적으로 구조적인 유사함 (Spring MVC, Django MVT) 때문에 다른 프레임워크 보다 이해가 잘되었습니다.

Django는 파이썬의 간결함을 활용 할 수 있는 매력적인 프레임워크라고 생각합니다.

간단한 레벨의 구현만 필요하다면 Django가 좋은 선택지가 될 것 같습니다.

 

이상입니다. 감사합니다.

728x90