Python/Django

Web - Django App

hooni40 2021. 7. 2. 22:00
728x90
반응형

안녕하세요, 지난 시간에 Django Project 생성을 해보았습니다. 해당 게시물에서 잠깐 짚고 넘어갔듯 Project안에 여러 가지 App들이 포함되어 있는데요. 이번에는 App에 대해 정리해보겠습니다.

 

 1. Django App 생성

-. python manage.py startapp {App 이름}으로 django앱을 생성합니다. (Project 안에서 생성하셔야합니다!)

아래와 같이 foods라는 app이 생성된 것을 확인할 수 있습니다. VSCode에서 확인 시 foods 아래에 여러 파일이 자동으로 생성된 것을 알 수 있습니다.

VSCode

+) Django App 구조

-. migrations디렉토리는 데이터베이스의 변경 사항 히스토리를 누적하는 곳입니다.

-. __init__.py는 파일이 있는 디렉토리를 Python패키지로 인식하도록 해줍니다.

-. admin.pyApp을 django 관리자와 연동하기 위해 필요한 설정 파일입니다.

-. apps.py앱에 대한 설정을 넣어두는 파일입니다.

-. models.py는 앱에서 사용할 데이터 모델을 설정합니다.(데이터베이스 구조를 담당한다!)

-. test.py는 앱의 프로젝트의 테스트 코드를 작성하는 곳입니다.

-. views.py는 앱의 메인 로직 처리와 관련된 파일입니다.

 

2. Project의 INSTALLED_APPS에 추가

App을 만든 후에는 무조건! Project의 settings.py(Project와 App의 연결을 담당)에 들어가서 INSTALLED_APPS에 추가해 줘야 합니다! 여기서 INSATALLED_APPS는 현재 프로젝트를 구성하고 있는 App들을 모아놓은 것입니다. (추가 시 끝에 ','를 붙입니다!)

foods App 추가

 

Django App은 하나의 프로젝트에서만 사용할 수 있는 것이 아닌 여러 프로젝트에서 사용이 가능합니다. 이러한 App을 Reusable App이라고 합니다.

 

Reusable App : 여러 프로젝트에서 사용할 수 있게 만들어진 App

1. 한 가지 앱은 한 가지 기능을 하고, 그 기능을 잘 수행해야 한다.

2. Django 개발자는 프로젝트를 많은 앱으로 구성하는 것을 두려워하면 안 된다.

3. 각각의 앱을 유연하게 작성해야 한다.

4. 다른 사람에게 배포가 가능하도록 만들어야 한다.

728x90
반응형