1. 작업 디렉토리 만들기
mkdir [프로젝트_폴더명]
cd [프로젝트_폴더명]
2. 가상환경 설정 (프로젝트 격리를 위해)
python -m venv venv
깃배쉬 (Windows): source venv/Scripts/activate
맥 (Mac) / 리눅스: source venv/bin/activate
가상환경 활성화 하고
pip install -r requirements.txt
pip install django
pip freeze -> requirments.txt
끄는법: deactivate
깃이그노어 만들고 밴브폴더 적기
3. 프로젝트 생성
django-admin startproject [프로젝트명 or config] .
# 마지막 점(.)은 현재 디렉토리에 생성한다는 의미
4. 앱 생성
python manage.py startapp [앱이름]
5. 앱 폴더 내부에 urls.py 파일 만들기
urlpatterns = []
6. config 폴더의 urls.py에 app 경로 추가
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path("admin/", admin.site.urls),
path("accounts/". include("accounts.urls")),
]
7. settings.py에 앱 등록
INSTALLED_APPS = [
'django.contrib.admin',
...
'앱이름',
]
8. config 폴더 내 settings.py에서 AUTH_USER_MODEL 정의하기
AUTH_USER_MODEL = "accounts.User"
9. 앱 내 models.py에서 custom user 모델 작성
from django. contrib.auth.models from AbstractUser
class User(AbstractUser):
pass
10. 앱 모델 마그레, 마그렛 하기
python manage.py makemigrations accounts
python manage.py migrate accounts
11. 디장고가 제공하는 기본 모델 마그렛 하기
python manage.py migrate accounts
12. admin 계정 만들기
python manage.py createsuperuser
◆ 폴더 구조
[프로젝트_폴더명]/ # 최상위 디렉토리
├── venv/ # 가상환경
├── [프로젝트명]/ # 프로젝트 설정 디렉토리
│ ├── __init__.py # Python 패키지로 인식하게 하는 파일
│ ├── settings.py # 프로젝트 설정 파일 (DB, 앱, 미들웨어 등)
│ ├── urls.py # 프로젝트의 메인 URL 설정
│ └── wsgi.py # 웹 서버 연동을 위한 설정
├── [앱이름]/ # 독립적인 기능을 가진 앱 디렉토리
│ ├── migrations/ # 데이터베이스 변경사항 기록
│ ├── __init__.py # Python 패키지로 인식
│ ├── admin.py # 관리자 페이지 설정
│ ├── apps.py # 앱의 설정 클래스
│ ├── models.py # 데이터베이스 모델 정의
│ ├── tests.py # 테스트 코드 작성
│ └── views.py # 뷰 함수/클래스 정의
└── manage.py # Django 프로젝트 관리 명령어 도구
이름 정할 때 주의사항:
파이썬 예약어 피하기(list, str 등)
특수문자 사용하지 않기
영어 소문자 사용 권장
의미있는 이름 사용 (예: blog, users, posts)
python manage.py runserver
python manage.py makemigrations
python manage.py migrate
2025.01.14 장고 초기 로드맵
SMALL
LIST