본문 바로가기

book

파이썬 웹 프로그래밍, 기초편 Django(장고)로 배우는 쉽고 빠른 웹 개발

파이썬으로 웹개발을 할때 다양한 Framework가 나타납니다.

Java의 경우 Spring으로 거의 일원화 되었지만, 

Python의 경우 Django, Flask, FastAPI등 많은 선택지가 있습니다.

 

장고의 경우, Python을 대표하는 프레임워크이고 가장 많이 사용합니다.

한빛미디어에 김석훈 저자님의 책은 빨강색(기본편), 파란색(실전편) 중에

이번에 기본편에 대해서 개정판이 나왔습니다.

이번에 개정된 3판에서는 2022년에 Release된 4.0 기반으로 책이 작성되어 있습니다.

 

글을 작성하는 시점에 최신 버전 정보는 아래와 같습니다.

Django 4.1.3 release notes

November 1, 2022

Django 4.1.3 fixes a bug in 4.1.2 and adds compatibility with Python 3.11.

 

> pip install Django로 버전명 없이 설치를 하면 현재 최신버전인 4.x의 사항이 설치됩니다.

기존 책에서는 3.x버전이 구성된 내용이 많아서 3.x버전을 설치하시려면 LTS버전인 3.2 버전으로 설치하시는게 좋습니다.

pip install Django==3.2.16

 

 

■ 웹을 처음으로 접하는 분들을 위한 기본 동작 원리 설명

· 처음에는 Web의 동작방식 및 Django는 파이썬 기반하에 동작되는 Framework이기 때문에 
  파이썬 웹 표준라이브러리에서 urllib패키지, http.client모듈에 대해서 상세히 설명을 합니다.

  이런한 표준 라이브러리에 대한 개념 학습을 통해서, 사용되는 모듈의 전체적인 필요성과 동작방식을 이해하는데 도움이 됩니다.

 

■ 환경구성

· 기존에 3.x 버전을 사용중이신 독자분들은 아래 명령어를 통해서 4.x버전으로 업그레이드가 가능합니다.

pip install Django --upgrade

 

· 장고를 수동설치하는 부분에 대한 내용

  개인적으로 이런 부분이 있어서 좋았습니다.

  일반적으로는 서버, 개인 개발환경에서 인터넷이 접속 가능한 환경이 일반적이지만,

   Offline환경에서 pip설치 및 django.tar.gz을 다운받아서 구성하는것은 좋은 가이드 같습니다.

 

· MVT모델

  모델 - 뷰 - 템플릿 형태로 기본적인 장고의 프로젝트를 구성합니다.

  자동을 생서오디는 파일 및 polls을 이용해서 구성되는 프로젝트를 통해서 각 파일의 성격 및 의미를 설명합니다.

 화면 출력을 위한 템플릿 사용, 폼을 이용한 값 전송하기, 클래스형 뷰 형태, 로그 남기기등을 

 샘플 예제를 작성하면서 구성합니다.

 기존에 3.x버전과 최근 major 릴리즈 버전인 4.x의 차이점을 설명하는 부분이 조금 있었으면 하는 아쉬움은 있습니다.

 

■ Django 웹서버 연동

· 실제 서비스를 위해서는 django 에 웹서버를 연동해서 사용합니다.

  해당 부분에 대한 내용이 있어서 실무 구축하는데 도움이 되실겁니다.

  많이들 연동해서 사용하는 서버는 nginx를 사용합니다.

  연동할때 많이 사용하는것이 uwsgi 입니다. 중간에 웹서버하는 역활을 하는 서버들이 다양합니다.

  6,9장에서는 uwsgi에 대해서 설명을 하고 8장에서는 Gunicorn에 대해서 설명하는 부분을 통해서

  2서버간의 연동설정에 대한 가이드 및 연동방식에 대해서 학습하실수 있습니다.

  10장에서는 apache웹서버와 연동하는 부분도 나옵니다. 

  현업 서비스시에 다양한 제약 및 선택가능한 옵션들이 있을수 있어서 다양한 구성방식에 대한 설명은

  처음 환경구축하시는 분들에게 도움이 됩니다.

 

■ 부록

· 기본적으로 Default로 장고를 설치시에는 sqlite db를 기본적으로 사용하고 settings.py에도 sqllite로 설정이 되어 있습니다.

· 부록에서는 다양한 DB에 접속 가능한 설정을 참고 하실 수 있습니다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."