서브메뉴

본문

파이썬 웹프로그래밍 (Django(장고)로 배우는 쉽고 빠른 웹개발)
파이썬 웹프로그래밍 (Django(장고)로 배우는 쉽고 빠른 웹개발)
저자 : 김석훈
출판사 : 한빛미디어
출판년 : 2015
정가 : 20000, ISBN : 9788968481819

책소개


이 책은 웹 개발자라면 필수적으로 갖춰야 할 웹 기본 기술부터 파이썬으로 웹 개발 시 기초 지식이 되는 표준 라이브러리까지 친절하게 설명한다. 또한, Django의 핵심 기능과 실습 예제, 웹 서버 연동을 통해 파이썬 웹 프로그래밍의 원리를 파악하는 데 중점을 두고 있다.

목차


CHAPTER 1. 웹 프로그래밍의 이해

__1.1 웹 프로그래밍이란?
__1.2 다양한 웹 클라이언트
____1.2.1 웹 브라우저를 사용하여 요청
____1.2.2 리눅스 curl 명령을 사용하여 요청
____1.2.3 Telnet을 사용하여 요청
____1.2.4 직접 만든 클라이언트로 요청
__1.3 HTTP 프로토콜
____1.3.1 HTTP 메시지의 구조
____1.3.2 HTTP 처리 방식
____1.3.3 GET과 POST 메소드
____1.3.4 상태 코드
__1.4 URL 설계
____1.4.1 URL을 바라보는 측면
____1.4.2 간편 URL
____1.4.3 파이썬의 우아한 URL
__1.5 웹 애플리케이션 서버
____1.5.1 정적 페이지 vs 동적 페이지
____1.5.2 CGI 방식의 단점
____1.5.3 CGI 방식의 대안 기술
____1.5.4 애플리케이션 서버 방식
____1.5.5 웹 서버와의 역할 구분

CHAPTER 2. 파이썬 웹 표준 라이브러리

__2.1 웹 라이브러리 구성
__2.2 웹 클라이언트 라이브러리
____2.2.1 urlparse 모듈
____2.2.2 urllib2 모듈
____2.2.3 urllib2 모듈 예제
____2.2.4 httplib 모듈
____2.2.5 httplib 모듈 예제
__2.3 웹 서버 라이브러리
____2.3.1 간단한 웹 서버
____2.3.2 BaseHTTPServer 모듈
____2.3.3 SimpleHTTPServer 모듈
____2.3.4 CGIHTTPServer 모듈
____2.3.5 xxxHTTPServer 모듈 간의 관계
__2.4 CGI/WSGI 라이브러리
____2.4.1 CGI 관련 모듈
____2.4.2 WSGI 개요
____2.4.3 WSGI 서버의 애플리케이션 처리 과정
____2.4.4 wsgiref.simple_server 모듈
____2.4.5 WSGI 서버 동작 확인

CHAPTER 3. Django 웹 프레임워크

__3.1 일반적인 특징
__3.2 장고 프로그램 설치
____3.2.1 기존 장고 프로그램 삭제
____3.2.2 pip 프로그램으로 설치
____3.2.3 수동으로 설치
____3.2.4 윈도우에서 장고 설치
____3.2.5 장고 프로그램 설치 확인
__3.3 장고에서의 애플리케이션 개발 방식
____3.3.1 MTV 패턴
____3.3.2 Model ? 데이터베이스 설계
____3.3.3 Template ? 화면 UI 설계
____3.3.4 URLconf ? URL 설계
____3.3.5 View ? 로직 설계
__3.4 프로젝트 뼈대 만들기
____3.4.1 프로젝트 생성
____3.4.2 애플리케이션 생성
____3.4.3 데이터베이스 변경사항 반영
____3.4.4 지금까지 작업 확인하기
__3.5 애플리케이션 개발하기 ? 설계
__3.6 애플리케이션 개발하기 - Model 코딩
____3.6.1 데이터베이스 지정
____3.6.2 테이블 정의
____3.6.3 Admin 사이트에 테이블 반영
____3.6.4 데이터베이스 변경사항 반영
____3.6.5 지금까지 작업 확인하기
__3.7 애플리케이션 개발하기 - View 및 Template 코딩
____3.7.1 URLconf 코딩
____3.7.2 뷰 함수 index() 및 템플릿 작성
____3.7.3 뷰 함수 detail() 및 폼 템플릿 작성
____3.7.4 뷰 함수 vote() 및 리다이렉션 작성
____3.7.5 뷰 함수 results() 및 템플릿 작성
____3.7.6 지금까지 작업 확인하기

CHAPTER 4. Django의 핵심 기능

__4.1 Admin 사이트 꾸미기
____4.1.1 데이터 입력 및 수정
____4.1.2 필드 순서 변경하기
____4.1.3 각 필드를 분리해서 보여주기
____4.1.4 필드 접기
____4.1.5 외래키 관계 화면
____4.1.6 Question 및 Choice를 한 화면에서 변경하기
____4.1.7 테이블 형식으로 보여주기
____4.1.8 레코드 리스트 항목 지정하기
____4.1.9 list_filter 필터
____4.1.10 search_fields
____4.1.11 polls/admin.py 변경 내역 정리
____4.1.12 Admin 사이트 템플릿 수정
__4.2 장고 파이썬 쉘로 데이터 조작하기
____4.2.1 Create - 데이터 생성/입력
____4.2.2 Read - 데이터 조회
____4.2.3 Update - 데이터 수정
____4.2.4 Delete - 데이터 삭제
____4.2.5 polls 애플리케이션의 데이터 실습
__4.3 템플릿 시스템
____4.3.1 템플릿 변수
____4.3.2 템플릿 필터
____4.3.3 템플릿 태그
____4.3.4 템플릿 주석
____4.3.5 HTML 이스케이프
____4.3.6 템플릿 상속
__4.4 폼 처리하기
____4.4.1 HTML에서의 폼
____4.4.2 장고의 폼 기능
____4.4.3 폼 클래스로 폼 생성
____4.4.4 뷰에서 폼 클래스 처리
____4.4.5 폼 클래스를 템플릿으로 변환
__4.5 클래스형 뷰
____4.5.1 클래스형 뷰의 시작점
____4.5.2 클래스형 뷰의 장점 ? 효율적인 메소드 구분
____4.5.3 클래스형 뷰의 장점 ? 상속 기능 가능
____4.5.4 클래스형 지네릭 뷰
____4.5.5 클래스형 뷰에서 폼 처리
__4.6 로그 남기기
____4.6.1 로거
____4.6.2 핸들러
____4.6.3 필터
____4.6.4 포맷터
____4.6.5 로거 사용 및 로거 이름 계층화
____4.6.6 로깅 설정
____4.6.7 장고의 로깅 추가 사항

CHAPTER 5. 실습 예제 확장하기

__5.1 새로운 애플리케이션 만들기
____5.1.1 프로젝트 뼈대 만들기
____5.1.2 애플리케이션 설계하기
____5.1.3 애플리케이션 ? Model 코딩하기
____5.1.4 애플리케이션 ? URLconf 코딩하기
____5.1.5 애플리케이션 ? Template 코딩하기
____5.1.6 애플리케이션 ? Template 상속 기능 추가
____5.1.7 애플리케이션 ? 클래스형 View 코딩하기
____5.1.8 지금까지 작업 확인하기
__5.2 프로젝트 첫 페이지 만들기
____5.2.1 프로젝트 첫 페이지 설계
____5.2.2 URLconf 코딩하기
____5.2.3 Template 코딩하기
____5.2.4 View 코딩하기
____5.2.5 지금까지 작업 확인하기
__5.3 polls 애플리케이션 ? 클래스형 뷰로 변경하기
____5.3.1 URLconf 코딩하기
____5.3.2 Template 코딩하기
____5.3.3 View 코딩하기
____5.3.4 로그 추가하기
____5.3.5 지금까지 작업 확인하기

CHAPTER 6. 웹 서버(Apache)와 연동

__6.1 mod_wsgi 확장 모듈
__6.2 장고의 웹 서버 연동 원리
__6.3 상용 서버 적용 전 장고의 설정 변경
__6.4 내장 모드로 실행
____6.4.1 아파치 설정
____6.4.2 지금까지 작업 확인하기
____6.5 데몬 모드로 실행
____6.5.1 아파치 설정
____6.5.2 지금까지 작업 확인하기

Appendix A. 장고의 데이터베이스 연동

__MySQL 데이터베이스 연동
____연동 드라이버 설치
____settings.py 파일 수정
____변경사항 장고에 반영하기
____작업 확인하기
__PostgreSQL 데이터베이스 연동
____연동 드라이버 설치
____settings.py 파일 수정
____장고에 반영 및 확인하기
__Oracle 데이터베이스 연동
____연동 드라이버 설치
____settings.py 파일 수정
____장고에 반영 및 확인하기

Appendix B. HTTP 상태 코드 전체 요약
Appendix C. 장고의 설계 원칙