[Django] Start Project & App

황인용·2020년 1월 27일
0

Django

목록 보기
3/13
post-custom-banner

Django Project 살펴보기

기본적인 project를 만들어진 내용을 살펴보기
project 생성 시 생성되는 기본파일

  • views.py
  • urls.py
  • models.py
  • migrations/
  • setting.py
  • db.sqlite3.py

Project와 App

하나의 Project가 하나의 Webstie라고 생각하면된다.
Project안에는 다양한 기능들이 있고, 어떤 의미있는 기능들을 App으로 관리한다.

Project를 생성

(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 는 전체 프로젝트를 관리하는 설정파일.

App 생성

(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로 가져온 데이터를 적절히 가공하는 역할

App 등록


INSTALLED_APPS = [
      'account',
      'django.contrib.admin',
      'django.contrib.auth',
      'django.contrib.contenttypes',
      'django.contrib.sessions',
      'django.contrib.messages',
      'django.contrib.staticfiles',
 ]
  • main project(sampleproject) 폴더에서 settings.pyINSTALLED_APPS에서 생성한 app 이름을 등록한다.
profile
dev_pang의 pang.log
post-custom-banner

0개의 댓글