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>
Django 앱의 철학 : Reusable APP → 기존 사용자들이 만든 App을 가지고 와서 사용가능