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 구현.

요약된 개발 순서

  1. 프로젝트 생성 및 설정
  2. Model 설계 및 데이터베이스 정의
  3. View 구현 (Model과 Template 연결 로직 작성)
  4. URLconf 작성 (URL 패턴 설정)
  5. Template 작성 (화면 출력 설계)
  6. 기능 테스트 및 디버깅
  7. 추가 기능 구현 및 최적화

이 순서를 따르면 Django 개발의 전 과정을 체계적으로 진행할 수 있습니다.

 

느낀점 

우선 실습 이전에 전체적인 Django의 작동원리 및 디자인 패턴과 그에 따른 전체적인 개발흐름을 이해하는 것이 더 중요하다고 느껴져 먼저 공부를 했습니다. 전체적인 흐름을 알게 되어 내가 무엇을 위해 어떤 작업을 하는지가 파악이 되어 실습도 더 잘 되지 않을까 기대가 됩니다. 

+ Recent posts