본문 바로가기
WEB/Django

[Django] Django 입문

by snow_white 2022. 4. 9.

Django

  • python으로 만들어진 무료 오픈소스 웹 어플리케이션 프레임워크(Web Application Framework)
  • MTV(Model-Template-View) 패턴을 따른다.
    • MODEL : DB와 커넥션을 해서 필요한 DB 연산을 처리
    • TEMPLATE : .js나 .html과 같은 페이지를 만들어서 웹 브라우저에게 넘겨주는 역할
    • VIEW : 사용자 요청을 받아 데이터 베이스 어디에 접근해서 어떤 데이터를 가공할 것인지 MODEL에게 알려주는 역할

Project와 App

  • 프로젝트 생성 명령어
    • manage.py : 실행파일
    • tutorial : 프로젝트명
    • settings.py : 프로젝트 환경설정 정보 담겨 있음
    • urls.py : 파일은 정규표현식으로 구성
    • wsgi.py : 웹서버와 장고를 적절하게 결합해주는 역할
  • $ django-admin startproject tutorial

 

 

  • app 생성
    • 프로젝트 내부에 다수의 app 생성
  • $ ./manage.py startapp community

 

settings.py

▫️ 프로젝트 환경 설정 파일

  • DEBUG
    • 디버그 모드 설정 (개발시에는 true값으로 지정해놓고 실제 서비스 배포시에는 false로 설정)
  • INSTALLED_APPS
    • pip로 설치한 앱 또는 본인이 만든 app추가
  • MIDDLEWARE_CLASSES
    • request와 response 사이의 주요 기능 레이어(인증, 보안관련 내용을 다룸)
  • TEMPLATES
    • 장고 템플릿 관련 설정, 실제 뷰(html)를 관리
  • DATABASES
    • 데이터베이스 엔진의 연결 설정
  • STATIC_URL
    • 정적파일의 URL(css, javascript, image 등)

 

Manage.py

▫️ 프로젝트 관리 명령어 모음

▫️ 이 스크립트로 다른 설치작업 없이 컴퓨터에서 웹 서버 실행 가능.

주요 명령어

  • startapp : 앱 생성
  • runserver : 서버 실행 ex) ./manage.py runserver 0.0.0.0:8080
  • createsuperuser : 관리자 생성
  • makemigrations app : app 모델의 변경사항 체크
  • migrate : 변경사항을 DB에 반영
  • shell : 쉘을 통해 데이터를 확인
  • collectstatic : static 파일을 한곳에 모음

댓글