[Django] 프로젝트와 앱 구조
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
[Django] 프로젝트와 앱 구조
프로젝트와 앱 구조에 대해서 공부한대로 작성해보겠습니다.
Django 설치 및 프로젝트, 앱 생성이 궁금하시다면 여기를 클릭해주세요!
프로젝트 및 앱 구조
제일 기본적인 가상환경 폴더에 프로젝트, 앱이 들어있는 구조입니다.
그림에서 papa_community안에 papa_community, board, manage.py가 존재합니다.
papa_community, board, manage.py을 설명해보려고 합니다.
하나씩 살펴보도록 하겠습니다.
papa_community
Root 디렉터리에 해당(프로젝트에서 제일 상단의 폴더)
디렉터리 내부에는 python 패키지들이 저장
papa_community.urls와 같은 식으로 프로젝트 어디서나 python 패키지들을 import 할 수 있음
__init__.py
python으로 하여금 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 빈 파일
asgi.py
django-channels를 사용할 때 알아야 하는 개념
데이터를 주고 받는 방식에 따라 사용개념이 다름
settings.py
현재 Django 프로젝트의 환경 및 구성을 저장
웹사이트 설정이 들어있음
urls.py
현재 Django 프로젝트의 URL 선언을 저장
사용자가 url로 django에 접근하면 들어온 url로 url 규칙을 보고 내부에 일치하는 View를 찾아 연결
wsgi.py
현재 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점
gateway interface 중 하나 (자세한 내용은 찾지 못했습니다..)
board (앱)
뷰(View)와 모델(Model)이 존재
앱이라는 단위로 분리해서 코드를 관리
앱에서 사용되는 데이터 정의, 기능에 대한 내용이 뷰(View)에 들어감
board(게시판), user(사용자) 등의 단위로 분류해서 관리하는 것이 유용
migrations
데이터베이스 파일을 보관하는 디렉터리
__init__.py
python으로 하여금 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 빈 파일
admin.py
앱에 대한 관리자 사이트에 관련된 설정
apps.py
앱에 대한 기본 설정 정보를 담고 있는 파일
models.py
모델에 대한 정보를 정의하고 저장하는 파일, 테이블 생성 및 테이블 필드가 정의된 파일
tests.py
test case를 다루는 파일
views.py
앱에 대한 뷰를 설정
manage.py
Django 프로젝트와 다양한 방법으로 상호작용하는 커맨드라인의 유틸리티
스크립트, 사이트 관리를 도와주는 역할
다른 설치 작업 없이 웹서버를 실행할 수 있음
저도 공부하면서 정리하지만,
내용이 조금 부족한 부분들이 있습니다.
[Django] 장고 프레임워크(FrameWork)는? 에서 뷰와 모델에 대한 내용을 보고 조금 더 이해가 잘 됐습니다.
감사합니다 :)
from http://greatpapa.tistory.com/16 by ccl(A) rewrite - 2020-03-11 23:54:11
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
댓글
댓글 쓰기