Django 앱 구조

Ethan·2023년 12월 26일
0

django

목록 보기
6/28

이전 포스팅에서 앱 디렉토리를 생성했다. 지난 Django 프로젝트 구조 포스팅에서 프로젝트 디렉토리 구조를 설명한 것처럼, 이번에는 앱 디렉토리 구조에 대해 설명하겠다.


앱 디렉토리

앱 디렉토리가 잘 생성되었다면 다음과 같은 구조로 이루어져 있을 것이다. 각 파일과 디렉토리에 대해 간단히 설명하겠다.

📂ABC
    📄manage.py
    📄db.sqlite3
    📂ABC
        📄__init__.py
        📄settings.py
        📄urls.py
        📄wsgi.py
    📂APP1  📌생성한 앱 디렉토리
    	📂migrations
        📄__init__.py
        📄admin.py
        📄apps.py
        📄models.py
        📄tests.py
        📄views.py
        

init.py 파일

현재 디렉토리가 하나의 파이썬 패키지로 인식될 수 있도록 하는 파일이며, 내용은 비어있다. 파이썬 버전 3.3 이상은 해당 파일이 없어도 파이썬 패키지로 인식되지만, 하위버전호환을 위해 남겨둔다.

📂ABC
    📄manage.py
    📄db.sqlite3
    📂ABC
        📄__init__.py
        📄settings.py
        📄urls.py
        📄wsgi.py
    📂APP1
    	📂migrations
        📄__init__.py  📌
        📄admin.py
        📄apps.py
        📄models.py
        📄tests.py
        📄views.py
        

admin.py 파일

앱을 장고 관리자와 연동하기 위해 필요한 설정 파일이다.

📂ABC
    📄manage.py
    📄db.sqlite3
    📂ABC
        📄__init__.py
        📄settings.py
        📄urls.py
        📄wsgi.py
    📂APP1
    	📂migrations
        📄__init__.py  
        📄admin.py  📌
        📄apps.py
        📄models.py
        📄tests.py
        📄views.py
        

apps.py 파일

앱에 대한 설정을 관리하는 파일이다.

📂ABC
    📄manage.py
    📄db.sqlite3
    📂ABC
        📄__init__.py
        📄settings.py
        📄urls.py
        📄wsgi.py
    📂APP1
    	📂migrations
        📄__init__.py  
        📄admin.py  
        📄apps.py  📌
        📄models.py
        📄tests.py
        📄views.py
        

models.py

앱에서 사용할 데이터 모델을 정의하는 파일이며, 데이터베이스 연동과 관련된 파일이라고 생각하면 된다.

📂ABC
    📄manage.py
    📄db.sqlite3
    📂ABC
        📄__init__.py
        📄settings.py
        📄urls.py
        📄wsgi.py
    📂APP1
    	📂migrations
        📄__init__.py  
        📄admin.py  
        📄apps.py  
        📄models.py  📌
        📄tests.py
        📄views.py
        

tests.py 파일

프로젝트의 테스트 코드를 작성하는 파일이다.

📂ABC
    📄manage.py
    📄db.sqlite3
    📂ABC
        📄__init__.py
        📄settings.py
        📄urls.py
        📄wsgi.py
    📂APP1
    	📂migrations
        📄__init__.py  
        📄admin.py  
        📄apps.py  
        📄models.py  
        📄tests.py  📌
        📄views.py
        

views.py 파일

서버에 요청이 들어왔을 때, 어떻게 처리하는지에 대한 로직을 정의하는 파일이다.

📂ABC
    📄manage.py
    📄db.sqlite3
    📂ABC
        📄__init__.py
        📄settings.py
        📄urls.py
        📄wsgi.py
    📂APP1
    	📂migrations
        📄__init__.py  
        📄admin.py  
        📄apps.py  
        📄models.py  
        📄tests.py  
        📄views.py  📌
        

migrations 디렉토리

데이터베이스의 변경 사항 히스토리가 누적되는 디렉토리다.

📂ABC
    📄manage.py
    📄db.sqlite3
    📂ABC
        📄__init__.py
        📄settings.py
        📄urls.py
        📄wsgi.py
    📂APP1
    	📂migrations  📌
        📄__init__.py  
        📄admin.py  
        📄apps.py  
        📄models.py  
        📄tests.py  
        📄views.py  
        

profile
글로 쓰면 머리 속에 정리가 되...나?

0개의 댓글

관련 채용 정보