감자의 개발공부 일지

[Django] Django 기초 이해하기1 본문

Python/Django

[Django] Django 기초 이해하기1

Elie_J 2022. 11. 4. 10:44
반응형

<Django 기초 이해하기1>

1. Django란?

-Djanog는 파이썬으로 만들어진 무료 오픈소스 웹 어플리케이션 프레임워크

 

2. Django 특징

(1) MVC패턴 기반의 MVT(Model-View-Template)

(2) 객체 관계 매핑(ORM, Object-Relational Mapping)

(3) 자동으로 구성되는 관리자 화면

(4) 우아한 URL 설계

(5) 자체 템플릿 시스템

(6) 캐시 시스템

(7) 다국어지원

(8) 풍부한 개발 환경

(9) 소스 변경사항 자동 반영

 

3. MVT패턴

Model-View-Template패턴

Model(모델) : 데이터 간의 인터페이스 담당

View(뷰) : 프로그램 로직

Template(템플릿) : 사용자 UI 부분 

 

4. Django 설정요소

(1) manage.py

- 프로젝트 관리를 도와줌, 이 스크립트로 다른 설치작업 없이 컴퓨터에서 웹서버 실행 가능

 

- manage.py에서 자주쓰는 명령어

  • django-admin startproject <프로젝트명> : 새로운 프로젝트 생성
  • python manage.py startapp <앱이름> : 새로운 장고앱 생성
  • python manage.py runserver : 개발 서버 실행
  • python manage.py makemigrations <앱이름> : 마이그레이션 파일 생성
  • python manage.py migrate <앱이름> : 마이그레이션 적용
  • python manage.py collectstatic : static 파일들을 settings.STATIC_ROOT 경로로 모음
  • python manage.py --help : 지원하는 명령어 목록

(2) settings.py

- setting.py는 프로젝트 환경설정에 대한 내용을 담고 있음

- DEBUG : 디버그 설정 개발시에는 true값으로 지정, 실제 서비스 배포시에는 false로 설정

- INSTALLED_APPS : pip로 설치한 앱 또는 본인이 만든 app 추가

- MIDDLEWARE_CLASSES : request와 response 사이의 주요 기능 레이어 (인증, 보안관련 내용을 다룸)

- TEMPLATES : 장고 템플릿 관련 설정, 실제 뷰 (html)를 관리

- DATABASES : 데이터베이스 엔진의 연결 설정

- STATIC_URL : 정적파일의 URL(css, javascript, image 등)

 

(3) urls.py

- view 메소드를 연결하고 요청 url을 정의하는 파일

- 도메인 이하를 path라고 한다

- urlpatterns 리스트의 항목(엔드포인트, 대상)에 따라 request를 라우팅

 

(4) admin.py

- adminpage에서 GUI를 통해 관리할 모델을 선언하는 페이지

- createsuperuser 명령어를 통해 만든 관리자 ID, 비밀번호로 접근

 

(5) models.py

- 앱에서 사용하기 위한 데이터 베이스 테이블을 ORM 문법에 의거하여 작성하는 파일

- 클래스는 DB에서 테이블과, 각 멤버 객체들은 column에 대응

 

(6) views.py

- request가 최종적으로 라우팅되어 동작시킬 로직이 정의된 파일

반응형