Python 언어 기반 Web Framework의 대표인 Flask와 Django의 차이점을 정확히 몰랐고 누군가가 왜 Flask를 사용하는지, 왜 Django를 사용하는지에 대해 물으면 할 말이 없을것 같아 이렇게 찾아서 공부하게 됐습니다.
Django와 Flask는 둘 중 뭐가 더 좋다고 할 수 없을 정도로 각각의 특징이 있고 또한 공통점이 있습니다.
대부분은 자신이 익숙한 Framework를 사용하는 것 같습니다.
만약 입문하시는 분들이 어떠한 Web Framework를 사용할지 고민이시면 아래의 특징을 보고 결정하셔도 좋을 것 같습니다.
Flask는 가벼운 Framework이며 개발자가 대부분을 설정해야하는 불편함이 있습니다.
Django는 10배나 무거운 Framework이기에 필요한것들만 뽑아가며 Web을 만들 수 있습니다.
Flask는 프로젝트마다 1개의 어플리케이션을 개발할 수 있지만 Django는 다양한 어플리케이션이 존재할 수 있습니다.
Flask는 ORM이 없기에 SQLAlchemy등을 사용해야하지만 Django는 강력한 ORM이 있기에 DB접속을 최소화합니다.
여기서 ORM은 객체와 테이블을 매핑해주는 것을 의미합니다.
Django가 대부분의 기능을 지원한다하지만 개발자가 원하는 기능을 따로 추가할때는 Flask보다 조금 힘들 수 있습니다.
Flask는 Micro Framework이기에 확장성과 유연성이 Django보다 뛰어납니다.
DJango는 주로 Web App이나 API 백엔드를 만들경우나 빠르게 개발, 배포, 업데이트가 필요한경우,
프로젝트를 진행할때 구글링이 편한게 좋다면, SQL이 익숙하지 않아 강력한 ORM이 필요하다면 주로 사용합니다.
Flask는 1개의 코드베이스에 담기엔 App이 너무 크거나 또는 너무 작다면, 베이스부터 시작할 수 있는 실력에 차근차근 이해하면서 할 수 있다면, Django와 Python에 익숙치않다면 주로 사용하는 것 같습니다.
저도 맨 처음 Web Framework는 Flask를 썼었는데 그 이유는 별 다른게 없었고 그냥 배워본 Framework를 사용했었습니다. 하지만 프로젝트를 진행하면서 Django의 정보도 생각보다 많았기에 기회가 된다면 Django를 사용해서 Web을 구성해보고 싶습니다.
'Python' 카테고리의 다른 글
파이썬-실습(1) 카카오톡 날씨 알림 프로젝트 (0) | 2021.11.21 |
---|---|
Crontab 사용법 (0) | 2021.11.18 |
HTML에서 받은 입력값을 DB로 보내기 (0) | 2021.10.18 |
파일 업로드, 다운로드, 삭제(Flask) (0) | 2021.10.18 |
파이썬 딕셔너리 사용법 (0) | 2021.09.16 |