[Django] 프로젝트 및 앱 구조

happypath·2021년 11월 29일
0

Django

목록 보기
2/7
post-thumbnail

django는 여러 app으로 구성되어있음.
그중 현재 생성된 mstaurant/mstaurant app은 여러 설정 파일, 환경이 들어 있기 때문에 제일 중요함!

1. 프로젝트 구조

├── mstaurant/  #project root 최상위 디렉토리
      ├─ manage.py #프로젝트 관리를 위한 명령어 지원 앱생성, 서버 실행 등 
      ├─ db.sqlite3
      └─ mstaurant/   #project app 가장 중심이 되는 app
          ├─ __init__.py  #python 패키지로 인식시키기 위해 필요함
          ├─ asgi.py  #비동기 처리를 위한 서버
          ├─ settings.py #시간대, 경로, db설정 등 전반적인 설정
          ├─ urls.py  #url을 보고 알맞은 페이지로 연결함
          └─ wsgi.py  #웹서버와 장고가 소통할떄 필요한 프로토콜

2. 앱 구조

프로젝트 안에 생성되는 '앱'
앱 생성 명령어

#루트 디렉토리에서 foods 앱 생성
python manage.py startapp foods

<앱 구조>

├── mstaurant/  
      ├─ manage.py 
      ├─ db.sqlite3
      ├─ mstaurant/   
      │    ├─ __init__.py  
      │    ├─ asgi.py  
      │    ├─ settings.py 
      │    ├─ urls.py  
      │    └─ wsgi.py
      └─ foods/  
          ├─ migrations/  #데이터베이스 변경사항 히스토리 누적
          ├─ __init__.py  #
          ├─ admin.py  #앱을 장고 관리자와 연동하기 위해 필요한 설정 파일
          ├─ apps.py  #앱에 대한 설정
          ├─ models.py  #데이터 모델 정의
          ├─ tests.py  #프로젝트 테스트 코드 작성
          └─ views.py  #메인 로직 처리         

3. 앱 생성 후 setting.py 수정

앱이 생성 되었다는 것을 알려 주는 것!

#settings.py
...


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'foods'   #생성한 앱 추가
]


...

뭔가 플라스크랑 유사하다 신기하다...ㅋㅋㅋ

0개의 댓글