티스토리 뷰

반응형

web - application framework

 

클라이언트 -> 웹 서버에서 어플리케이션이 요청을 받는다. 그리고 DB가 응답해서 되돌려준다.

 

웹 어플리케이션

1. 클라이언트가 보는 화면

2. 웹 어플리케이션 코드

3. 데이터베이스

 

프론트

html,css, js - 디자이너들

 

백엔드

app으로는 java,python

DB = mySQL oracle postage SQL

 

풀스택 = 프론트 + 백엔드

 

장고는 web application full-stack framework

프론트, 백엔드도 전부 지원

 

django 용어

Front쪽 = template

app = view(서비스 처리 모델)

데이터베이스를 처리해주는 객체 - 모델(M)

 

그래서 장고는 MVT 디자인 패턴을 이용한다고 한다.

java 기반은 MVC를 기반으로 작업한다.

 

따라서 모델, 뷰, 템플릿을 배운다.

 

풀스택이 아닌 프레임워크 - flask

 

django의 요소

• View : HTTP의 요청을 처리

• Model : 데이터베이스 처리

• Template : 사용자의 인터페이스 처리

• Form : 사용자의 입력 데이터 처리

• Static 파일 : 정적 파일 관리

• Media 파일 : 사용자가 업로드한 파일 관리

• Message framework : 일회성 메시지 처리

• Send Email : 이메일 작성 및 전송

• Admin앱 : 관리자를 위한 쉬운 DB 데이터 관리 UI 제공

• Auth앱 : 사용자 인증에 관련된 서비스 제공

• Session앱 : 사용자별로 사용되는 데이터 서비스 제공

 

django의 장점

같은 기간을 개발 했을 때, java spring 보다 장고가 훨씬 더 개발 기간이 적을 수 있다.

많은 라이브러리와 프레임워크 제공.

확장성이 뛰어나 복잡한 요구사항과 통합이 필요한 개발에 적합하다.

불필요한 중복이 없고, 유지보수가 쉬워 재사용하기 쉬운 디자인 원칙과 패턴들을 사용한다.

보안 취약점을 보안할 방법을 기본적으로 제공한다.

 

프레임워크는 반제품이다.

 

django의 서비스 처리(MVT)

client -> Django HTTP Handler -> URL 확인(어떤 view가 실행될지를 결정)

-> view에서 서비스 처리 -> model에서 DB 처리

 

반대로 갈 떄는

처리된 DB -> 템플릿으로 응답정보를 생성하거나, 직접 응답 정보 생성 -> Django HTTP Hanlder로 전달

-> 응답 정보를 client에게 전달

 

template.html/css/js 혹은 django template, 서드 파티 템플릿이 따로 있다.

views.py - 사용자의 요청에 대한 서비스 처리를 담당

models.py - DB 데이터 처리를 담당

 

개발환경 구축

pip install Django==4.2

장고 버전 확인

django-admin --version
또는
python -m django --version

 

하나의 장고 프로젝트는 여러 개의 app으로 이루어져 있다.

 

app - 책에 관련된 app, e-bbook에 관련된 app 등등

 

장고 프로젝트 생성

 

1. c:\dev 폴더를 생성한다.

2. 커맨드 창을 연다.

3. django-admin startproject 프로젝트 이름

여기서는 mysite라는 이름을 쓴다.

 

이후에 vscode에서 해당 dev 폴더를 연다

 

장고 프로젝트의 구조

cd mysite

tree /f

환경 설정 - mysite/asgi.py, setting.py,urls.py,wsgi.py,_init_.py

setting랑 urls가 눈여겨봐야 한다.

 

manage.py

장고 프로젝트 생성시 manage.py는 프로젝트의 개발 과정에서 필요한 작업을 실행시켜주는 커맨드 유틸리티

manage.py 유틸리티를 사용하는 형식은 다음과 같다.

 

python manage.py <command> [options]

 

커맨드를 보려면 python manage.py --help를 하면 된다.

 


https://github.com/purum01/dev

 

수업 내용의 예시 사이트

해당 프로젝트에 대한 설명들이 다 나와있다.

 

https://github.com/django/django

 

장고 소스코드도 변경 사항이 있을 수 있기에 북마크 해놓는 것이 좋다.

반응형