IT 끄적이기/IT 지식

Django 와 ORM

김팡 2024. 7. 11. 13:48

Python Django란?

Django란 파이썬으로 만들어진 무료 오픈소스 웹 어플리케이션 프레임워크(Framework)이다. 만약 Express를 알고 있다면, 이와 비슷하다고 생각하면 된다. 주 목적은 복잡한 database 기반의 website 를 쉽게 만드는 데 있다.

장고의 장점으로는

  • 비교적 간단한 언어이지만 빠르고 강력한 Python 언어로 이루어져 있어 접하기 쉽다.
  • ORM(Object-Relational Mapping)기능 지원
  • 쉬운 URL 파싱 기능 지원
  • 동일한 소스에서 다른나라에 맞춰 번역 및 날짜,시간 등의 포맷 타임존을 지정할 수 있다.
  • 자동으로 Admin Panel기능 제공
  • User Authentication(유저 인증)이 용이

등의 있다.

Youtube, Dropbox, Google, Quora, Instaram등 많은 유명한 기업들이 Python을 사용중이고, 커다란 커뮤니티를 가지고 있다.

Django File structure

ORM이란?

ORM을 이야기하기 앞서, 우선 SQL에 대해 알아야 한다. SQL( Structured query language)이란, 관계형(relational) 데이터베이스에서 수정, 삭제, 혹은 정보를 가져올 때 등의 동작을 할 때 사용되는 언어이다. 즉, MySQL, 혹은 PostgresQl같은 데이터베이스를 사용하기 위해서는 해당 SQL언어를 알아야 한다.

ORM이란, 객채(Object)의 관계(Relational)를 연결(Mapper)해주는 것을 뜻한다. 객체 지향적인 방법을 사용하여 데이터베이스의 데이터를 쉽게 조작할 수 있게 해주는 것이다.

즉, Django의 ORM이란, 파이썬과 데이터베이스의 SQL사이의 통역사 역할을 해준다.

User.objects.filter(age=30) // Python Django
SELECT * FROM users WHERE age=30 // SQL

Django는 아래 SQL 코드를 위에 파이썬 언어로써 사용할 수 있게 해주는 것이다.

ADMIN PANEL?

Django는 별다른 코드 작성 없이도 default로 Admin Panel을 제공해준다. Django로 프로젝트를 생성 후, 홈페이지 url뒤에 /admin 을 붙이면 자동으로 생성된 panel을 볼 수 있다.

django admin panel

약간의 customizing으로 검색 기능도 사용할 수 있고, 간편하게 데이터를 추가할 수도 있어서 쉽게 어플리케이션 프로젝트를 진행하게 해준다.