Django 프로젝트의 개발 순서는 작업의 우선순위와 목표에 따라 달라질 수 있지만, 일반적으로 Model → View → Template 순서로 개발하는 경우가 많습니다. 아래는 Django 개발의 전형적인 순서와 각 단계의 작업 내용을 정리한 가이드입니다.
Django 개발 순서
1. 프로젝트 생성 및 환경 설정
- Django 프로젝트를 생성하고 초기 설정을 완료합니다.
django-admin startproject myproject cd myproject python manage.py startapp myapp - settings.py에서 앱 등록:
INSTALLED_APPS = [ ... 'myapp', #마지막 항목은 ,을 안 써도 작동은 하지만 보통은 쓰는 것을 권장. ] - 데이터베이스 설정을 확인하고 필요한 경우 수정합니다.
2. Model 설계 및 구현
- 데이터 구조와 비즈니스 로직을 먼저 설계합니다.
- 데이터베이스와 상호작용하는 모델 클래스를 작성합니다. (예: models.py)
from django.db import models class Article(models.Model): title = models.CharField(max_length=100) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) - 마이그레이션 파일 생성 및 데이터베이스 적용:
python manage.py makemigrations python manage.py migrate
3. View 구현
- URL 요청에 따라 적절히 처리할 View 함수 또는 클래스를 작성합니다.
- views.py에서 Model 데이터를 가져오고, 이를 템플릿에 전달할 로직을 작성합니다.
from django.shortcuts import render from .models import Article def article_list(request): articles = Article.objects.all() return render(request, 'articles/list.html', {'articles': articles})
4. URLconf 작성
- URL과 View를 연결하는 URLconf를 작성합니다.
- urls.py에서 URL 패턴을 정의합니다.
from django.urls import path from . import views urlpatterns = [ path('articles/', views.article_list, name='article_list'), ]
5. Template 작성
- 사용자에게 보여줄 UI를 설계합니다.
- Django 템플릿 언어(DTL)를 사용하여 HTML 파일을 작성합니다.
- 예: templates/articles/list.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Article List</title> </head> <body> <h1>Articles</h1> <ul> {% for article in articles %} <li>{{ article.title }} - {{ article.created_at }}</li> {% endfor %} </ul> </body> </html>
6. 기능 테스트
- 브라우저에서 URL을 요청하여 화면과 데이터가 올바르게 표시되는지 확인합니다.
- Django의 테스트 프레임워크를 사용하여 유닛 테스트 및 통합 테스트를 작성합니다.
python manage.py test
7. 추가 기능 및 수정
- 필요에 따라 다음을 추가로 구현합니다:
- 폼(Form): 사용자 입력 처리.
- 관리자(admin): Django Admin 사이트 설정.
- 미들웨어(Middleware): 요청 및 응답 과정에서 추가 기능 구현.
- API: Django REST Framework(DRF)로 API 구현.
요약된 개발 순서
- 프로젝트 생성 및 설정
- Model 설계 및 데이터베이스 정의
- View 구현 (Model과 Template 연결 로직 작성)
- URLconf 작성 (URL 패턴 설정)
- Template 작성 (화면 출력 설계)
- 기능 테스트 및 디버깅
- 추가 기능 구현 및 최적화
이 순서를 따르면 Django 개발의 전 과정을 체계적으로 진행할 수 있습니다.
느낀점
우선 실습 이전에 전체적인 Django의 작동원리 및 디자인 패턴과 그에 따른 전체적인 개발흐름을 이해하는 것이 더 중요하다고 느껴져 먼저 공부를 했습니다. 전체적인 흐름을 알게 되어 내가 무엇을 위해 어떤 작업을 하는지가 파악이 되어 실습도 더 잘 되지 않을까 기대가 됩니다.
'내일배움캠프 TIL' 카테고리의 다른 글
| 2025.01.16TIL - Django MTV 심화 (0) | 2025.01.16 |
|---|---|
| 2025.01.15TIL - Django 프로젝트 생성 중 중첩 폴더가 생성 된 경우. (0) | 2025.01.15 |
| 2025.01.13 TIL - GIT / Django 서버 실행 (1) | 2025.01.13 |
| 2025.0110.TIL - 최댓값 구하기 문제 (0) | 2025.01.10 |
| 2025.01.09TIL - 프로그래머스 문제풀이 (0) | 2025.01.09 |