안녕하세요. 오늘은 최근 웹 개발 분야에서 큰 인기를 끌고 있는 파이썬 웹프레임 워크 Django 에 대해서 자세하게 알아보겠습니다. 이 포스팅에서는 Django 의 기본 개념부터 실제 프로젝트에 적용하는 방법까지 단계별로 초보자들을 위한 정보를 드리겠습니다.

Django 프레임 워크란?
Django 는 파이썬 기반의 오픈소스 웹 애플리케이션 프레임워크 입니다. 2003년 로렌스 저널-월드에서 뉴스 웹사이트를 개발하면서 시작되었으며, 현재 전 세계적으로 가장 인기있는 웹 프레임워크 중 하나입니다. 빠르고 안정적이며 확장 가능한 웹 애플리케이션 개발을 위한 강력한 도구 세트를 제공합니다.
Django 의 주요 특징은?
Model-View-Template(MVT) 아키텍처
Django는 MVT 아키텍처를 따르고 있습니다.이는 웹 애플리케이션을 세 가지 주요 구성요소로 나누어 개발할 수 있게 해줍니다.
- Model : 데이터베이스와 상호작용하는 데이터 접근 계층
- View : 비즈니스 로직을 처리하는 계층
- Template : 사용자에게 보여지는 UI 계층
ORM(Object-Relational Mapping)
Django의 ORM은 파이썬 코드와 데이터베이스 간의 상호작용을 단순화합니다.개발자는 SQL쿼리를 직접 작성할 필요없이 파이썬코드로 데이터베이스를 조작할 수 있습니다.
URL 라우팅
Django는 강력한 URL 라우팅 시스템을 제공합니다. 개발자는 URL 패턴을 정의하고 해당 패턴에 맞는 뷰 함수를 연결 할 수 있습니다.
폼 처리
Django는 HTML 폼 처리를 단순화 합니다. 개발자는 폼 필드와 유효성 검사 규칙을 정의하고, Django 가 자동으로 HTML 폼을 생성하고 데이터를 처리합니다.
템플릿 시스템
Django의 템플릿 시스템은 HTML 파일에 동적 데이터를 삽입할 수 있게 해줍니다.이를 통해 프론트엔드와 백엔드 코드를 분리할 수 있습니다.
캐싱 시스템
Django 는 강력한 캐싱 시스템을 제공합니다. 이를 통해 웹 애플리케이션의 성능을 향상시킬 수 있습니다.
Djanggo 시작하기
Djanggo를 시작하기 위해서는 먼저 파이썬과 Django를 설치 해야 됩니다. 파이썬은 공식 웹사이트에서 다운로드 받을수 있으며 Django는 파이썬이 설치된 후에 pip 명령을 통해서 설치 할 수 있습니다.
▣ 파이썬 다운로드 : [바로가기]
pip 명령을 사용하여 django 를 설치할수 있습니다.
pip install django
Django 프로젝트를 생성하려면 다음 명령어를 실행합니다. 명령어를 실행하게 되면 'myproject' 디렉토리가 생성되며 그 안에 Django 프로젝트의 기본 구조가 만들어 집니다.
다음은 Django 앱을 생성합니다. 앱은 Django 프로젝트 내에서 특징 기능을 담당하는 독립적인 모듈입니다.
django-admin startproject myproject
다음 명령어를 입력하게 되면 'myapp' 디렉토리가 생성되며, 그 안에 Django 앱의 기본 구조가 만들어 집니다.
python manage.py startapp myapp
모델 정의하기
Django에서 모델은 데이터 베에스 테이블과 매핑됩니다. 모델은 'models.py' 파일에 정의합니다. 예를 들어 블로그 애플리케이션에서 'post' 모델을 다음과 같이 정의할 수 있습니다.
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
pub_date = models.DateTimeField('date published')
모델을 정의한 후에는 데이터베이스에 반영해야 됩니다.
python manage.py makemigrations myapp
python manage.py migrate
뷰 작성하기
Django에서 뷰는 HTTP 요청을 처리하고 응답을 반환하는 역할을 합니다. 뷰는 views.py 파일에 정의합니다. 예를 들어, 블로그 애플리케이션에서 Post 목록을 보여주는 뷰를 다음과 같이 작성할 수 있습니다.
from django.shortcuts import render
from .models import Post
def post_list(request):
posts = Post.objects.all()
return render(request, 'myapp/post_list.html', {'posts': posts})
URL 라우팅 설정하기
Django에서 URL 라우팅은 urls.py 파일에 정의합니다. 예를 들어, 위에서 작성한 post_list 뷰를 /posts/ URL에 매핑하려면 다음과 같이 설정할 수 있습니다.
from django.urls import path
from . import views
urlpatterns = [
path('posts/', views.post_list, name='post_list'),
]
템플릿 작성하기
Django에서 템플릿은 HTML 파일에 동적 데이터를 삽입할 수 있게 해줍니다. 템플릿은 templates 디렉토리에 저장합니다. 예를 들어, post_list.html 템플릿을 다음과 같이 작성할 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<title>Blog Posts</title>
</head>
<body>
<h1>Blog Posts</h1>
<ul>
{% for post in posts %}
<li>{{ post.title }} ({{ post.pub_date }})</li>
{% endfor %}
</ul>
</body>
</html>
이렇게 하면 post_list 뷰에서 전달한 posts 데이터를 템플릿에 렌더링할 수 있습니다.
앞으로 블로그 포스팅에서 Django에 대한 내용을 추가적으로 업데이트를 이어가겠습니다. 많은 도움이 되시기를 바랍니다.
'프로그래밍 > Python' 카테고리의 다른 글
파이썬 개발환경 구축 필요없는 구글코랩(Google Colaboratory) (37) | 2023.08.21 |
---|---|
OPENAI API 사이트에 접속하여 API 키값 받아오는 방법 (12) | 2023.03.24 |
파이썬 프로그래밍 문자열 함수 정리 (10) | 2023.03.06 |
파이썬 기초 들여 쓰기와 주석문 (5) | 2023.03.05 |
파이썬(Python) 실행파일 생성 시 오류 'pyinstaller' 용어가 cmdlet, 함수, 스크립트~ (12) | 2023.02.24 |