django-admin —version : django 버전

django-admin startproject {project name}: 프로젝트 만들기

python [manage.py](<http://manage.py>) runserver {ip}:{port} : django 프로젝트 실행

#--------------------------costaunrant project tree>---------------------------#
└── **costaurant** : Project Root : django 프로젝트의 모든 파일이 담긴 최상위 디렉토리[수정O]
    ├── **costaurant** : Project APP : 우리 Project의 가장 중심이 되는 App명[수정X]
    │   ├── **__init__**.py : 파이썬 패키지를 위해 꼭 있어야함( python > 3.3이상부턴 상관없음)
    │   ├── __pycache__
    │   │   ├── __init__.cpython-38.pyc
    │   │   ├── settings.cpython-38.pyc
    │   │   ├── urls.cpython-38.pyc
    │   │   └── wsgi.cpython-38.pyc
    │   ├── asgi.py
    │   ├── **settings**.py : 시간대 및 경로, DB 설정 등 전반적인 프로젝트 세팅 담당
    │   ├── **urls**.py : URL보고 알맞은 페이지로 연결해주는 역할 
    │   └── **wsgi**.py :  WebServer Gateway Interface : 소통하는데 필요한 프로토콜 파일 
    ├── db.sqlite3
    └── manage.py : 앱 및 DB 생성 등 프로젝트 관리 파이썬 스크립트

python [manage.py](<http://manage.py/>) startapp {app name} : 프로젝트 내 앱 생성

food
├── __init__.py : 위와 동일
├── admin.py : 권한관련 파일
├── apps.py : 앱에 대한 설정을 넣어주는 파일
├── migrations : DB의 변경사항 히스토리 누적
│   └── __init__.py
├── **models.py** : DB 연동 관련 파일
├── tests.py : 테스트 코드 작성하는 곳
└── **views.py** : 서버에 요청이 들어올때 로직 처리 파일

<aside> 💡 앱을 만든 경우 Django에 앱을 만들었다고 꼭 알려줘야함! {project_names}/{project_names}/settings.py

</aside>

Untitled

Django 앱의 철학 : Reusable APP → 기존 사용자들이 만든 App을 가지고 와서 사용가능