[Django]プロジェクトとアプリケーション構造


djangoは複数のappからなる.
ここで現在生成されているmsturant/msturant 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.アプリケーション作成後の設定。変更


アプリケーションが生成されたことをお伝えします!
#settings.py
...


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


...

フラスコに似ていて不思議です.ははは