Python

Django 시작하기

J개발자 2022. 3. 15. 00:38

장고에대해 공부하기에 앞서 컴퓨터 외 세상의 모든 사물은 네트워크로 연결되어있다.

Client는 Sever에게 request를 보내고 그로인해 response를 받으며 동작한다. (그 사이에는 HTTP가 있을 수 있다)

여기서 매번 서버는 클라이언트와 연결을 유지하지는 않는다. 즉 기억을 하지 않는 것인데 유지하기 위해서는 쿠키나 세션을 사용하게된다. 이러한 서버와 클라이언트사이의 동작을 '웹서버프로그래밍'이라고한다.

 

request에는 많은 것들이 담겨있다. 특히 알아야할 것은 url, body(data), method, header, cookie 등이다.

 

이제 장고를 알아보자. 장고란 무엇인가? 

장고는 파이썬으로 만들어진 오픈 소스 웹 애플리케이션 프레임워크이다. 보안이 우수하고 유지보수를 편리하게 하기 위한 신속한 개발에 도움을 주는 것이라고 할 수 있다.

프레임워크가 뭐지?? 

MVC웹 프레임워크라고 생각하면되는데 Model - View - Controller 로 나누어 유지보수에 특화된 모델이다..

이렇게 나누어야 효과적이다.

장고에서의 MVC를 보자면 표와같다.

  Spring Django
Model Model Model
View View Template
Controller Controller View

주목해야할 점은 장고에서 View를 템플릿이라하고 스프링에서도 그렇게 사용하지만 장고의 View는 컨트롤러다.

언어 주요 프레임워크
Java JSP, Servlet,Spring
PHP Laravel, Codeignitor
Ruby Ruby on rails
JS Espress.js
Python Django, Flask, FastAPI

장고사용을 위해선 개발환경설정(가상환경만들기,장고 패키지 설치,비주얼코드 개발환경설치)

장고 프로젝트 생성하기 - 서버가동을 통해 브라우저 확인이 기본이다. 가상환경만드는 것은 이전에 포스팅하였다.

 

이렇게 장고 실행하는 건 이전 포스팅참고바람.

브라우저에서 장고 서버가 가동중인것이다. 웹서비스 사용가능해진다.

상단 브라우저에서 url 을 직접입력한다는 것 자체가 request하는 동작이고 GET방식이다.

보통은 다른방식들은 보안 문제가 있어 확인하고 싶다면 https://www.postman.com/downloads/?utm_source=postman-home 를 설치하여 쉽게 브라우저확인하자.

참고로 이 서버를 중단하고 싶다면 VScode의 터미널로 돌아가 ctrl + c 입력하면 중단된다.

위에서 보면 알다시피 8000 번 포트를 기본적으로 사용하고 있는 장고이다. 물론 터미널에서 python manage.py runserver 8008 이렇게 포트번호를 바꿀 수 있다.

 

공식 https://docs.djangoproject.com/ko/4.0/intro/tutorial01/ 

 

첫 번째 장고 앱 작성하기, part 1 | Django 문서 | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

 

장고에서의 또 알아야할 정적 static파일에대해 설명하고자한다.

서버안의 파일을 request되면 그 파일이 response되는 구조로 이를 정적인 파일이라한다.(HTML, CSS, JS)

그럼 dynamic web은? request가 올때마다 DB와 연동되어 동적 페이지를 구성하는 response구조이다.(DB가 합쳐짐)

이제 장고가 이러한 정적파일들을 관리하는 방법을 알아보자.

 

이름바꿀수 있으나 보통 static 이라 사용함. 그냥 static이라 하자
장고 정적파일 구조 확인하기
동작확인하기