본문 바로가기
FrameWork/Django

Application

by mansoorrr 2024. 7. 11.

Application?

  • Django에서 application(app)은 한가지 기능을 폴더로 관리하는 것을 의미한다.
  • 로직이 다른 기능들을 한 폴더에 모아 관리하기 편하게 만든다.(아래 예시)
    • User app: 회원가입, 로그인, 회원정보수정, 회원탈퇴 등 로직 수행
    • Question app: 질문등록, 질문수정, 질문삭제, 등의 로직 수행
    • Answer app: 답변등록, 답변수정, 답변삭제, 답변조회 등의 로직 수행
    • Review app: 댓글등록, 댓글수정, 댓글삭제, 댓글 조회 등의 로직 수행
  • app 생성 > app 등록 순으로 이루어짐

 

[Application 생성]

  • python manage.py startapp <app이름>
  • 폴더 생성됨
    • 폴더 안에 migrations 폴더가 있음
    • 폴더 안에 .py파일들이 있음
      • admin.py: app에서 관리하는 정보가 admin페이지에서 어떻게 보여지게 할것인지
      • apps.py: app을 만들고 django에 적용하기 위함(config클래스가 있음)
      • models.py: db테이블(모델) 만드는 곳(필드와 데이터 타입 정의)
      • tests.py:
      • views.py:

 

[Application 등록]

  • app을 생성 하고 django에서 사용하기 위해서는 등록을 해야함
  • 처음 생성한 config폴더에 settings로 들어가면 INSTALLED_APPS가 있음
  • 이미 들어있는 INSTALLED_APPSSYSTEM_APPS로 새로 등록한 APP은 CUSTOM_APPS로  세팅하고 둘을 합친것을 INSTALLED_APPS로 새로 만듬
  • CUSTOM_APPS 에 생성한 어플리케이션의 config 정보(apps.py)를 입력
#-------------------- config/settings.py

<생략...>

# Application definition
CUSTOM_APPS = [
    'houses.apps.HousesConfig', #houses app
]

SYSTEM_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

INSTALLED_APPS = CUSTOM_APPS + SYSTEM_APPS

<생략...>

 

'FrameWork > Django' 카테고리의 다른 글

App Admin  (0) 2024.07.12
App Models  (0) 2024.07.12
Setup Super User & settings  (0) 2024.07.11
Setup Admin & Migration  (0) 2024.07.11
Set up  (0) 2024.07.11