OpenCode로 Django 프로젝트 만들기: 실전 튜토리얼

OpenCode-django image

Django를 배우기 시작하면 누구나 이런 고민을 하게 됩니다.

  • “settings.py 구조가 너무 복잡한데 어떻게 정리하지?”
  • “앱을 어떻게 나누어야 하지?”
  • “CRUD 기능 하나 만드는데도 시간이 오래 걸리네?”

이때 OpenCode를 함께 쓰면 초급 개발자도 짧은 시간 안에
프로젝트 구조를 잡고 기본 기능을 구현하는 흐름을 빠르게 익힐 수 있습니다.

今回の記事では Django 새 프로젝트 생성 → 앱 만들기 → 기본 CRUD 기능 구현까지
처음부터 끝까지 OpenCode와 함께 진행하는 실전 튜토리얼을 제공합니다.

1. Django 새 프로젝트 생성하기

Django Project Setup

프로젝트 폴더를 하나 만들고 그 폴더 위치의 터미널에서 다음 순서로 시작합니다.

1) 가상환경 생성

python3 -m venv .venv
source .venv/bin/activate

2) Django 설치

pip install django

3) 프로젝트 생성

django-admin startproject mysite .

폴더 구조가 생겼다면 이제 OpenCode를 열어봅니다.

2. OpenCode 실행 후 첫 작업: 프로젝트 구조 설명받기

터미널에서 오픈코드를 실행

opencode
opencode 실행화면

TUI가 열리면 다음처럼 물어볼 수 있습니다.

/ask Django 기본 폴더 구조를 설명해줘. 특히 settings.py와 urls.py의 역할을 초보자 입장에서 쉽게 설명해줘.
opencode-django image

여기서 얻을 수 있는 효과

  • Django의 복잡한 구조를 “한 번에” 이해
  • 어떤 파일을 언제 수정해야 하는지 자연스럽게 감 잡기
  • 초보자가 가장 막히는 settings 관련 개념을 빠르게 털어냄

3. 앱(app) 생성부터 모델(model) 구성까지 AI에게 맡기기

예제로 간단한 “메모(Memo)” 앱을 만들어보겠습니다.

1) 앱 생성

python manage.py startapp memo
startapp memo image

2) 모델 작성

OpenCode에 다음처럼 요청합니다.

/ask memo 앱에 작성자(author), 내용(content), 생성일(created_at) 필드를 가진 Memo 모델을 만들어줘. 초급 개발자가 이해하기 쉽게 주석도 추가해줘.
memo model image

그러면 모델 초안이 생성됩니다.

from django.db import models

# Create your models here.


class Memo(models.Model):
    """간단한 메모 모델

    필드:
    - author: 메모 작성자 이름(문자열)
    - content: 메모 내용(긴 텍스트)
    - created_at: 메모가 생성된 날짜와 시간(자동 설정)
    """

    # 작성자 이름을 저장합니다. 최대 100자, 필수 입력
    author = models.CharField(max_length=100)

    # 메모 내용을 저장합니다. 길이가 길 수 있으므로 TextField 사용
    content = models.TextField()

    # 객체가 처음 생성될 때 자동으로 현재 시간이 저장됩니다.
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        # 관리 사이트나 쉘에서 객체를 확인할 때 보기 좋은 문자열을 반환합니다.
        return f"{self.author}: {self.content[:20]}"  # content의 앞 20자만 보여줌

이제 AI에게 후속 조치를 요청합니다.
그런데 이미 다음의 내용과 유사하게 사전에 권고를 합니다.
“원하시면 제가 INSTALLED_APPS에 등록하고 마이그레이션 커맨드를 실행해 드릴게요. 계속 진행할까요?”

/ask 모델 생성 후 필요한 admin 등록, migration 절차까지 단계별로 안내해줘.
admin-migration image

4. Views & Urls — 기본 CRUD를 빠르게 만들기

OpenCode에게 다시 아래의 요청합니다.

/ask Memo 모델을 위한 기본 CRUD view 세트를 작성해줘. 
함수 기반 view(fbv)로 작성해줘.

또는 클래스 기반 view를 원한다면

/ask Memo 모델을 위한 CRUD 기능을 Class Based Views로 작성해줘.
crud-cbv image

위 이미지에서 보시는 바와 같이 AI는 내가 요청하는 것보다 더 발빠르게 일을 진행시키고 있다. 오픈코드는 심지어 우측에 ToDo리스크까지 보여주면서 작업을 진행한다.

그다음 자동으로 이어지는 요청 패턴

아래와 같은 것을 요구하려고 했으나, 이미 처리를 해버렸다!
“구현 완료: Memo 모델을 위한 Class-Based CRUD 뷰와 URL, 템플릿, 그리고 기본 레이아웃을 추가했습니다.”

/ask 방금 만든 viewset에 맞게 urls.py 라우팅을 작성해줘.
/ask template 파일도 초안으로 만들어줘. list.html, detail.html 형태로.

이렇게 대화 흐름만 잘 만들면
초급 개발자도 단시간에 기본 기능을 완성할 수 있습니다.

5. templates 자동 생성 — 초급자의 난관 해결

템플릿 작업은 Django 초보자에게 난관입니다.
하지만 OpenCode는 문서 기반 패턴에 매우 강하므로 다음처럼 요청하면 됩니다.

/ask memo/list.html과 memo/detail.html 파일의 기본 HTML 구조를 만들어줘. 
부트스트랩 기반으로 깔끔하게 구성해줘.

예시 출력

  • 리스트 페이지: 항목 목록 렌더링
  • 디테일 페이지: 메모 내용 표시
  • 작성 버튼 / 수정 버튼 포함

순차적으로 위와 같이 진행하려고 했으나 이미 다음과 같이 왠만한 것을 앞서 나가면서 처리해준 것을 알 수 있다.

what AI have done image

이후

/ask list 페이지에 검색창 하나 추가해줘.

이런 요청도 자연스럽게 처리됩니다.

memo list html works image

6. 리팩터링 + 설명 요청: OpenCode의 진짜 장점

기능이 만들어졌다면 OpenCode에게 다음과 같이 물어봅니다.

/ask 지금까지 만든 memo 기능 전체를 리뷰해줘. 구조적으로 개선할 수 있는 부분 3가지를 알려줘.

(답변)
1) 폼을 forms.py로 분리하고 ModelForm 사용  
2) 인증·권한(소유자) 모델 개선: author 문자열 → 실제 사용자 연결(또는 소유자 필드) + 뷰에 인증 요구
3) 검색·페이지네이션의 재사용 가능한 처리 추출 / 템플릿 정리  원하시면 제가 위 세 가지 중 하나를 직접 적용해 드리겠습니다. 어느 항목을 먼저 구현할까요?

흔히 나오는 개선점

  • views.py 파일 분리
  • forms.py 추가
  • 템플릿 반복 패턴 정리
  • URL 네이밍 정리

개선 제안이 나왔으면 바로 구현을 요청합니다. 그러면 알아서 작업이 진행됩니다.

/ask 방금 제안한 개선점 순차적으로 구현해주세요.

초급 개발자가 처음부터 ‘괜찮은 구조’를 갖춘 Django 프로젝트를 만드는 데 매우 효과적입니다.

7. 문서화 자동 생성 — README & 기능 요약

OpenCode에게 다음처럼 요청합니다.

@document 지금까지 만든 Django 메모 앱의 기능을 README.md에 기록할 버전으로 요약해줘. 설치 방법, 실행법, 모델 설명도 넣어줘.

그러면

  • 설치 & 실행 안내
  • 기능 목록
  • 스크린샷 자리 표시자
  • API 또는 URL 목록

까지 깔끔하게 아래와 같이 정리됩니다.

README.md image

8. 최종 단계: 테스트 코드까지 자동 생성

Django 초급자 대부분이 테스트 코드를 어려워하지만
OpenCode를 활용하면 매우 쉽게 시작할 수 있습니다.

/ask Memo 모델과 CRUD view를 검증하는 pytest 기반 테스트 코드를 작성하고 테스트를 진행해주세요.

또는 Django 기본 테스트 프레임워크 사용

/ask Django TestCase 기반으로 memo 앱 테스트 코드를 작성하고 테스트를 진행해주세요.

이렇게 테스트까지 자동 생성하면
혼자 개발하더라도 “실무형 프로젝트 구조”를 빠르게 익힐 수 있습니다.

위 요구에 다음과 같이 테스트 완료 결과를 알려줍니다.

test result image

整理する

今回の記事では OpenCode를 Django 개발에 실제로 적용하는 전체 흐름을 살펴봤습니다.

핵심 요약

  • OpenCode는 Django의 복잡한 구조를 빠르게 이해하는 데 큰 도움을 준다.
  • 모델, 뷰, URL, 템플릿까지 대화 중심으로 모두 생성 가능하다.
  • 리팩터링과 문서화까지 자연스러운 대화로 이어진다.
  • 초급 개발자도 실무형 Django 구조를 비교적 쉽게 습득할 수 있다.

다음 글에서는
프론트엔드(Next.js 등)와 OpenCode를 연결하여 UI/UX를 빠르게 제작하는 방법
を扱います。

類似の投稿