기본적인 project를 만들어진 내용을 살펴보기
project 생성 시 생성되는 기본파일
하나의 Project가 하나의 Webstie라고 생각하면된다.
Project안에는 다양한 기능들이 있고, 어떤 의미있는 기능들을 App으로 관리한다.
(project) $ cd ~/sampleproject
(project) $ django-admin startproject sampleproject .
project를 생성하면 다음과 같은 파일구조가 만들어진다.
(project) $ cd ~/sampleproject
(project) $ tree
.
├── manage.py
└── sampleproject
├── __init__.py
├── asgi.py
├── settings.py
├── urls.py
└── wsgi.py
1 directory, 6 files
sampleproject/setting.py 는 전체 프로젝트를 관리하는 설정파일.
(pango)$ cd ~/sampleproject
(pango)$ python manage.py startapp account
(project) $ tree
.
├── manage.py
└── sampleporject
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-37.pyc
│ │ └── settings.cpython-37.pyc
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── account
├── __init__.py
├── admin.py
├── apps.py
├── migrations
│ └── __init__.py
├── models.py
└── views.py
4 directories, 14 files
manage.py
Django 프로젝트와 다양한 방법으로 상호작용하게해주는 command-line utillity이다.
sampleporject
Django project를 감싸는 root directory. 폴더명은 어느 것을 하던 상관없다..
init.py
sampleproject라는 디렉토리가 python Package라는 것을 Python에게 알리는 비어있는 파일이다
asgi.py
웹 서버 게이트웨이 인터페이스는 웹서버와 웹 애플리케이션의 인터페이스를 위한 파이선 프레임
워크 파일이다
settings.py
이 Django 프로젝트에 대한 setting 및 configuration
urls.py
이 Django 프로젝트의 URL 선언들
wsgi.py
현재 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점이다
admin파일
관리자 권한을 가진 사용자가 볼 수 있는 페이지
migrations/
Database관련 폴더. models.py로 수정 및 정의 후 database 관련 mapping 구조를 파일로 저장되는 장소
models.py
Database와 관련된 다양한 역할을 수행
Views.py
Datebase로 가져온 데이터를 적절히 가공하는 역할
INSTALLED_APPS = [
'account',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
settings.py
의 INSTALLED_APPS
에서 생성한 app 이름을 등록한다.