Django 기본 정리

jm_yoon·2020년 12월 22일
1
post-thumbnail

Django

Djano란 보안이 우수하고 유지보수가 편리한 웹사이트를 신속하게 개발하는 하도록 도움을 주는 파이썬 웹 프레임워크이다. (무료 오픈소스 웹 애플리케이션 프레임워크)

MVC & MTV

MVC 패턴은 Model + View + Controller를 합친 용어이다.

Model 어플리케이션에서 사용되는 데이터와 그 데이터를 처리하는 부분
View 데이터를 적절하게 유저에게 보여줌
Controller, Template(Django) 사용자의 입력과 이벤트에 반응하여 Model과 View를 업데이트, Django는 Controller대신 Template이라 한다.

코드를 분리(디자인적인 요소, 컨트롤적인 코드,..) 모델 컨트롤 뷰로 세가지 패턴으로 나뉨

장고의 개념


✅좌측그림 녹색박스(실질적으로 다루게되는 파일)

동작순서

1. 사용자의 Action들은 Controller에 들어오게 된다.
2. Controller는 사용자의 Action를 확인하고, Model을 업데이트한다.
3. Controller는 Model을 나타내줄 View를 선택합니다.
4. View는 Model을 이용하여 화면을 나타냅니다.

WSGI(건드릴필요x, 웹서버와 장고를 연결시켜주는 gateway)
view.py(실제적으로 파이썬코드를 많이 작성하는 곳, 사용자요청에 의해 데이터베이스를 입력할건지 데이터베이스를 리스트로 보여줄건지 판단)
MODEL(데이터베이스로부터 데이터를 가져와서 넣는것? 변수만 작성하면 MANAGERS에서 데이터 가공해준다.)
FORM(모델과 템플릿, 사용자가 쓰는 UI 쉽게 관리, 장고에서 편리하게 구성이 된다)
TEMPSATE(HTML스크립트 파일, 유저인터페이스에 적절하게 구성)


project & app

프로젝트 생성
$ django-admin startproject tutorial

app 생성
$ ./manage.py startapp <community ; 앱이름>
(프로젝트 내부에 다수의 app 생성)


settings.py

프로젝트 환경 설정 파일

  • DEBUG(디버그 모드 설정):개발하는 단계에서는 true로 두고 배포할때에는 false로 하여 디버그정보를 노출을 피한다.

  • INSTALLED_APPS(pip로 설치한 앱 또는 본인이 만든 app을 추가):다양한 서브파트어플리케이션 사용 가능

  • MIDDELWARE_CLASSES(request와 response사이의 주요 기능 레이어):크게신경안써도됨, 인증보안과 관련된 기능을 다루고 있음

  • TEMPLATES(django template관련 설정, 실제 뷰(html, 변수))

  • DATABASES(데이터베이스 엔진의 연결 설정):어뎁터설정하면 데이터베이스 설정을 손쉽게 할 수 있음

  • STATIC_URL(정적 파일의 URL(css,js,image,etc))


manage.py


프로젝트 관리 명령어 모음
주요 명령어

  • startapp : 앱 생성
  • runserver : 서버 실행
  • createsuperuser : 관리자 생성
  • makemigrations app : app의 모델 변경 사항 체크
  • migrate : 변경 사항을 DB에 반영
  • shell : 쉘을 통해 데어터를 확인
  • collectstatic : static파일을 한 곳에 모음
profile
Hello!

0개의 댓글