Django 동작 시스템(구동 방식)

Jayson Hwang·2022년 5월 5일
0

Django Basics

목록 보기
1/14
post-thumbnail

::: wsgi.py(WSGI, web server gateway interface)

  • 브라우져에서 어떤 요청을 보내면 우선 WSGI 쪽으로 신호가 들어옴
  • 사실 이 파일은 크게 건드릴 이유가 없으며, 존재하고 있다정도만 알고 있으면 됨
  • 웹서버와 장고를 적절하게 결합시켜주는 역할(적절한 설정만 해주면됨)

::: urls.py(URL RESOLUTION)

  • wsgi.py를 거쳐서 urls.py에서 요청을 받게됨
  • 그리고는 특정한 views.py로 보내주게됨

::: views.py(VIEW)

  • 이 부분이 가장 우리가 많이 코드를 작성하게될 부분
  • 뷰에서 "사용자 요청에 의해서 데이터베이스에 입력을 하던지,
    아니면 데이터베이스로부터 데이터를 가져와서 사용자에게 응답을 할 것인지"등의 결정(판단)을 함
  • 그리고는 model.py에 신호를 보내게됨

::: model.py(MODEL)

  • 데이터베이스로부터 어떤 데이터를 가지고올때 모델에 변수만 지정하게되면
    뒤에서 데이터베이스와 연결하는 부분을 MANAGERS라는 것이 알아서 해줌
  • 따라서 sql query를 따로 작성할 필요가 없고, 변수만 다루면 데이터베이스로부터 데이터를 가져와서 뷰에서 가공이 가능하다.

::: example.html(TEMPLATE)

  • 사용자에게 보여주기 위한 UI 작업
  • html 파일 안에 로직을 삽입할 수 있음
  • 복잡한 로직은 아니고, 어떤 뷰에서 받은 데이터를 html에 어떻게 잘 보여줄지에 대한 스크립트가 작성되게 된다.

::: settings.py(프로젝트 환경 설정 파일)

  • Debug
    - 디버그 모드 설정
    - Ture & False(개발 or 배포 설정)
  • INSTALLED_APPS
    - pip로 설치한 앱 혹은 본인이 만든 app을 추가
    - 앱을 추가하게되면 INSTALLED_APPS에 꼭 추가를 해줘야함
  • MIDDLEWARE_CLASSES
    - request와 response 사이의 주요 기능 레이어
    - 크게 신경 안써도 되지만, 인증 및 보안과 관련된 기능을 다루고 있음
  • TEMPLATES
	- django template 관련 설정, 실제 뷰(html, 변수)
  • DATABASES
	- 데이터베이스 엔진의 연결 설정
	- 데이터베이스 설정 파일이라고 이해하면 쉽다
    - DB엔진, DB이름, 유저명, 비밀번호, 호스트, 포트 등을 다룸
  • STATIC_URL
	- 정적 파일의 URL(css, javascript, image, etc.)과 관련된 설정 파일

::: manage.py(프로젝트 관리 명령어 모음)

  • 주요명령어

    • startapp :: 앱생성
    • runserver :: 서버 실행
    • createsuperuser :: 관리자 생성
    • makemigrations app :: app의 모델 변경 사항 체크
    • migrate :: 변경 사항을 DB에 반영
    • shell :: 쉘을 통해 데이터를 확인
    • collectstatic :: static 파일을 한 곳에 모음
profile
"Your goals, Minus your doubts, Equal your reality"

0개의 댓글