프로젝트와 앱
Django 프로젝트 구성하기
프로젝트와 앱은(는) CoddyKit의 무료 Python Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Python Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Python Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
Django란 무엇인가요
Django는 필요한 기능이 모두 기본 제공되는 Python 웹 프레임워크입니다. ORM, 관리자 사이트, 템플릿 기능 등을 하나로 제공하므로 다양한 기능을 갖춘 사이트를 빠르게 구축할 수 있습니다. pip install django로 설치하세요.
import django
print('Django version:', django.get_version())프로젝트와 앱 비교
Django는 두 가지 개념을 구분합니다.
- 프로젝트는 설정을 포함한 웹사이트 전체입니다.
- 앱은 프로젝트 안에서 재사용할 수 있는 모듈로, 블로그나 쇼핑몰과 같습니다.
하나의 프로젝트에는 여러 앱이 포함될 수 있습니다.
# project = the site
# app = a feature module within it
print('Project holds many apps')프로젝트 시작하기
django-admin startproject mysite 명령은 핵심 파일이 포함된 새 프로젝트 디렉터리의 기본 구조를 생성합니다.
# Terminal:
# django-admin startproject mysite
print('startproject creates the site skeleton')프로젝트 구조
새 프로젝트에는 manage.py와 settings.py, urls.py, wsgi.py, asgi.py가 들어 있는 내부 패키지가 포함됩니다.
# mysite/
# manage.py
# mysite/
# settings.py
# urls.py
# wsgi.py
print('manage.py + inner config package')manage.py
manage.py는 명령줄 진입점입니다. 개발 서버 실행이나 마이그레이션 같은 작업을 이를 통해 수행합니다.
# python manage.py runserver
# python manage.py migrate
# python manage.py createsuperuser
print('manage.py runs project commands')앱 만들기
python manage.py startapp blog는 자체 모델, 뷰, 관리자 파일이 들어 있는 새 앱 폴더를 생성합니다.
# python manage.py startapp blog
# blog/
# models.py
# views.py
# admin.py
# apps.py
print('startapp scaffolds a feature module')앱 등록하기
Django가 앱을 인식하도록 settings.py의 INSTALLED_APPS에 앱을 추가하세요.
# settings.py
# INSTALLED_APPS = [
# 'django.contrib.admin',
# 'blog',
# ]
print('Register apps in INSTALLED_APPS')settings.py
settings.py에는 데이터베이스, 설치된 앱, 허용된 호스트, 정적 파일, 비밀 키 등 모든 설정이 들어 있습니다.
# Key settings:
# DATABASES, INSTALLED_APPS,
# ALLOWED_HOSTS, SECRET_KEY, DEBUG
print('settings.py centralizes config')개발 서버
python manage.py runserver는 기본적으로 http://127.0.0.1:8000에서 실행되는 로컬 개발 서버를 시작합니다.
# python manage.py runserver
# -> Starting development server at
# http://127.0.0.1:8000/
print('runserver launches the dev server')URL 설정
프로젝트의 urls.py는 루트 URL 매핑입니다. 일반적으로 각 앱의 자체 URL 설정을 include()로 포함합니다.
# mysite/urls.py
# from django.urls import path, include
# urlpatterns = [
# path('blog/', include('blog.urls')),
# ]
print('Project urls include app urls')앱은 재사용할 수 있습니다
앱은 자체적으로 완결되어 있으므로 동일한 앱을 여러 프로젝트에 추가할 수 있습니다. 이러한 모듈식 설계는 Django의 핵심적인 장점입니다.
# A well-built 'blog' app can be reused
# across different Django projects
print('Apps promote reuse')빠른 확인
프로젝트 구조에 대한 이해도를 확인해 보세요.
복습
Django 프로젝트를 구성하는 방법을 배웠습니다.
- 프로젝트는 사이트 전체이고, 앱은 재사용 가능한 기능 모듈입니다.
startproject와startapp으로 기본 구조를 생성합니다.INSTALLED_APPS에 앱을 등록합니다.manage.py로runserver같은 명령을 실행합니다.- 프로젝트의
urls.py는 각 앱의 URL 설정을 포함합니다.
자주 묻는 질문
“프로젝트와 앱” 강의는 무료인가요?
네 — “프로젝트와 앱” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Python Academy 강의 전체를 잠금 해제할 수 있습니다. Python Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“프로젝트와 앱”에서 뭘 배우나요?
Django 프로젝트 구성하기 브라우저에서 직접 실행하는 실습 코드로 Python Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Python Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Python Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“프로젝트와 앱” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Python Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Python Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 프로젝트와 앱
- 모델과 마이그레이션
- 뷰와 URL
- Django 관리자