본문 바로가기
Web Framework/Django

[Django] Project 및 Application

by cogito21_python 2024. 4. 21.
반응형
 Index
 1. 프로젝트/애플리케이션
 2. Django 명령어
 3. 프로젝트 구조
 4. 프로젝트 설정
 5. 애플리케이션 구조
Reference

1.  프로젝트 / 애플리케이션

프로젝트/애플리케이션

- 프로젝트: 재사용 가능. 여러 애플리케이션을 포함하는 웹 사이트

- 애플리케이션: 모델, 뷰, 템플릿 및 URL의 그룹. 프레임워크와 상호작용해서 특정 기능을 제공 및 재사용

 

2. Django 명령어

Django 명령어

# 프로젝트 생성
django-admin startproject <프로젝트명>

# 애플리케이션 생성
python manage.py startapp <애플리케이션명>

# 개발서버 실행
python manage.py runserver [url주소:port번호] [--settings=프로젝트폴더.settings]

 

3.  프로젝트 구조

프로젝트 구조

project/
  manage.py
  project/
    __init__.py
    asgi.py
    settings.py
    urls.py
    wsgi.py

 

- 외부 project: 프로젝트 컨테이너

- manage.py: 프로젝트와 상호작용하는 커맨드라인 도구

- project: 파이썬 패키지

  - __init__.py: directory를 파이썬 모듈로 취급하도록 하는 빈 파일

  - asgi.py: ASGI 호환 웹 서버와 함께 ASGI 애플리케이션으로 프로젝트를 실행하기 위한 configuration

  - settings.py: 프로젝트 설정 및 구성

  - urls.py: URL 패턴이 있는 곳

  - wsgi.py: WSGI 호환 웹 서버와 함께 WSGI 애플리케이션으로 프로젝트를 실행하기 위한 configuration

 

4. 프로젝트 설정

프로젝트 설정

- DEBUG: 프로젝트의 디버그 모드를 설정. 기본값은 True

- ALLOWED_HOSTS: 디버그 모드가 켜져있거나 테스트 동작 중에는 적용되지 않음

- INSTALLED_APPS: 프로젝트에 활성화시킬 애플리케이션 지정

- MIDDLEWARE: 실행할 미들웨어 지정

- ROOT_URLCONF: 애플리케이션의 루트 URL 패턴이 정의된 파이썬 모듈을 가리킴

- DATABASES: 기본값으로 SQLite3 데이터베이스

- LANGUAGE_CODE: 장고 사이트의 기본 언어 코드

- USE_TZ: 시간대 지원 활성화 설정. datetiem 지원

 

5. 애플리케이션 구조

애플리케이션 구조

app/
  __init__.py
  admin.py
  apps.py
  migrations/
    __init__.py
  models.py
  tests.py
  views.py

 

- __init__.py: directory를 파이썬 모듈로 취급하도록 파이썬에 지시하는 빈 파일

- admin.py: 장고 관리 사이트에 포함할 모델을 등록하는 곳

- apps.py: 애플리케이션의 주요 구성

- migrations: 해당 directory는 애플리케이션의 데이터베이스 마이그래이션 포함. 모델 변경 사항 추적 및 동기화

- models.py: 데이터베이스 데이블에 매핑이 되는 데이터 모델이 포함

- test.py: 애플리케이션을 위한 테스트 추가

- views.py: 애플리케이션의 로직이 위치. HTTP 요청을 수신해서 처리후 응답 반환

 


Reference

[Text: Django(django-admin)]
https://docs.djangoproject.com/en/5.0/ref/django-admin/
[Text: Django(overview)]
https://docs.djangoproject.com/en/5.0/
[Text: Django(tutorial)]
https://docs.djangoproject.com/en/5.0/intro/tutorial01/#writing-your-first-django-app-part-1
반응형

'Web Framework > Django' 카테고리의 다른 글

[Django] Admin  (0) 2024.04.22
[Django] Model 및 Database 2  (0) 2024.04.22
[Django] Model 및 Database 1  (0) 2024.04.21
[Django] Django 개요 및 환경 설정  (0) 2024.04.21
[Django] 학습 참고자료  (0) 2024.03.09