본문 바로가기
웹개발/python

파이썬 웹프레임워크 장고(Django)

by 지구별 여행자 임탱 2024. 3. 1.
728x90

파이썬 장고(Django)는 파이썬으로 작성된 무료 오픈 소스 웹 프레임워크입니다. 

웹 애플리케이션을 빠르고 효율적으로 개발할 수 있도록 도와줍니다. 

Django는 모델-뷰-템플릿(Model-View-Template, MTV) 아키텍처 패턴을 기반으로 합니다.

Django를 사용하면 데이터베이스와의 상호작용, URL 매핑, 템플릿 처리, 폼 처리, 사용자 인증 등 다양한 웹 개발 기능을 간편하게 처리할 수 있습니다. 

또한, Django는 자체적인 개발 서버를 제공하여 개발 과정에서 실시간으로 웹 애플리케이션을 테스트할 수 있습니다.

MTV 패턴:
Django는 Model-Template-View (MTV) 패턴을 따릅니다.
Model: 데이터베이스와 상호작용하는 부분으로, 데이터의 구조와 동작을 정의합니다.
Template: 사용자에게 보여지는 부분으로, 웹 페이지의 디자인과 레이아웃을 작성합니다.
View: 비즈니스 로직을 처리하고, 클라이언트의 요청에 따라 적절한 템플릿을 렌더링합니다.

 

ORM (Object-Relational Mapping):
Django는 ORM을 사용하여 데이터베이스와 상호작용합니다.
ORM은 객체와 데이터베이스 간의 매핑을 담당하여 SQL 쿼리 없이 데이터를 다룰 수 있도록 합니다.
모델 클래스를 정의하여 데이터베이스의 테이블과 매핑하고, 객체를 통해 데이터를 조작할 수 있습니다.


URL 매핑:
Django는 URLconf를 사용하여 URL을 뷰 함수 또는 클래스와 매핑합니다.
URLconf는 프로젝트 전체 또는 앱별로 관리되며, URL 패턴과 해당하는 뷰를 지정합니다.
정규 표현식을 활용하여 동적인 URL 매핑도 가능합니다.


템플릿 언어:
Django는 자체적인 템플릿 언어를 제공합니다.
템플릿 언어를 사용하여 동적으로 데이터를 삽입하고, 조건문과 반복문을 활용할 수 있습니다.
상속과 인클루드를 통해 템플릿의 재사용성을 높일 수 있습니다.


폼 처리:
Django는 폼 처리를 간편하게 할 수 있는 기능을 제공합니다.
폼을 정의하고, 사용자로부터의 입력을 받아 유효성 검사와 처리를 수행할 수 있습니다.
CSRF(Cross-Site Request Forgery) 공격 방어 기능도 내장되어 있습니다.


사용자 인증:
Django는 사용자 인증을 처리하는 기능을 제공합니다.
사용자의 가입, 로그인, 로그아웃, 비밀번호 변경 등을 다룰 수 있습니다.
인증에 대한 보안적인 측면도 고려되어 있습니다.

'웹개발 > python' 카테고리의 다른 글

파이썬 표준라이브러리  (1) 2024.03.01
[파이썬 장고]프로젝트 시작  (1) 2024.03.01
파이썬 패키지(Package)화  (1) 2024.02.26
파이썬에서 예외처리 하기  (1) 2024.02.26
파이썬 모듈(module)  (0) 2024.02.26