[Django] Flask와 차이점

원준·2023년 10월 17일

Django

목록 보기
1/4

어떤 차이가 있나?

  • 기본적으로 Django와 Flask는 Web Framework이며 Python 언어를 기반으로 하는 것으로 비교 자체가 될 수 없다고 볼 수 있다.
  • Django
    • Full-stack Framework
    • Admin panel이 기본적으로 제공됨.
  • Flask
    • Micro Framework (Django Rest Framework와 같음)
    • Flask-Admin 확장팩을 설치해야함.

흠... 그래도 뭔가 다르지 않을까?

  • Flask는 약 27,000줄 밖에 안되는 가벼운 프레임워크이다 보니 개발자가 거의 모든 것을 설정하고 셋팅해야한다.
  • 반면, Django는 이의 10나 무거운 프레임워크이며 수많은 기능들이 이미 개발이 되어 있어 손 쉽게 개발이 가능하다.
  • Flask는 프로젝트 마다 1개의 어플리에키이션을 개발하도록 되어 있지만, Django는 한 프로젝트 내의 아양한 어플리케이션이 존재할 수 있다.
  • Flask는 따로 ORM이 없기 때문에 SQLAlchemy 등을 사용해야하는 반면, Django는 아주 강력한 ORM이 존재한다.
    • Django ORM은 DB 접속을 최소화 함.

속도 차이가 있지 않을까?

  • 차이가 없다고 한다.
  • Flask가 더 빠르다고 하지만, 속도가 정말 중요하다면 Python으로 만든것 자체가 실수라고 많이들 말한다.

요약을 한다면?

1. Django를 사용하고 싶다?

  • 웹 앱이나, API 백엔드를 만들고 싶다.
  • 빠른 개발, 빠른 배포, 빠른 업데이트.
  • CSRF, XSS, SQL 인젝션, 클릭재킹 등 기본적인 보안 완비.
  • 스케일링 업, 스케일링 다운을 자유자재로 가능.
  • 개발하다 막혔을때 물어볼 곳이 많음.
  • SQL이 익숙하지 않아서 강력한 ORM이 필요하다면.

2. Flask를 사용하고 싶다?

  • 도저히 1개의 코드베이스에 담을 수 없을 만큼 앱이 큼.
  • 너무 앱이 작음.
  • 밑 그림부터 시작할 수 있는 실력에 내가 뭘하고 있는지 알고 있다면.
  • 팀원 중 그 어느 누구라도 Django와 Python에 익숙치 않다면.
  • DB로 이미 생성된 NoSQL을 사용.
profile
공부해보자

0개의 댓글