나에게 필요한 지식과 기술을 검색해 보세요.

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

지은이

김석훈

출간일

2015.03.28

레벨

초급

평점

4(6명)

정가

20,000

판매가

18,000

총 결제 금액

10%

18,000

적립 예정

900P

쪽수

276P

ISBN

9788968481819

브랜드

한빛미디어

파이썬으로 웹 프로그래밍을 해야 한다면 Django가 정답이다!

 

파이썬의 장점은 쉽고 빠른 웹 개발이다
파이썬에서 제공하는 표준 라이브러리 혹은 프레임워크를 사용하면 웹 애플리케이션을 쉽고 빠르게 개발할 수 있다. Django는 파이썬의 다양한 웹 프레임워크 중 웹 개발에서 가장 많이 사용될 뿐 아니라, 웹 프로그래밍에 필요한 기능이 풍부하다.

 

처음 파이썬 웹 프로그래밍을 시작한다면 Django를 적극 추천한다
Django 프레임워크는 웹 프로그래밍에 필요한 개념들이 잘 정립되어 있다. 뿐만 아니라 개발을 바로 시작할 수 있도록 프로그래밍의 뼈대를 만들어 주고, 어렵게 생각되는 데이터베이스 연동, Admin 관리 기능을 쉽게 처리해 준다.

 

 

【이 책의 특징】

  • 웹 프로그래밍에 필요한 파이썬 웹 표준 라이브러리를 활용할 수 있다.
  • 웹 서버뿐 아니라 자신의 목적에 맞는 웹 클라이언트를 개발할 수 있다.
  • 파이썬 웹 프레임워크 중 범용성이 가장 높은 Django를 사용해서 웹 서버를 개발할 수 있다.
  • Model, Template, View에 따른 설명과 실습을 통해 Django에서의 웹 애플리케이션 개발 방식과 그 원리에 대해 살펴본다.
  • 함수형 뷰와 클래스형 뷰를 사용하는 웹 애플리케이션을 직접 만들고 비교해 본다.
  • 웹 서버(Apache)에 웹 애플리케이션을 배포하고 실행하는 방법을 알아본다.

 

 

 

저자

목차

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. 장고의 설계 원칙

리뷰

전체 평점

4

오탈자

  • 종이책20P1

    표기 오류

    20p 중단/ 웹 서버에 요청을 보내는 4가지 방법

    2016-10-10
  • 종이책112P1

    내용 오류

    코드 자체 문제

    2016-10-10
  • 종이책112P1

    내용 오류

    상단 예제코드

    2016-09-27

20,000

10%

18,000