목차

옮긴이의 글
지은이의 글

1장 장고를 소개합니다

1.1 웹 애플리케이션에서 MVC 패턴이란?
1.2 왜 파이썬을 사용해야 하나?
1.3 왜 장고를 사용해야 하나?

1.3.1 구성요소들 간의 긴밀한 통합
1.3.2 객체관계 매핑
1.3.3 간단한 URL 주소 설계
1.3.4 자동으로 구성되는 관리자 화면
1.3.5 풍부한 개발 환경
1.3.6 다국어 지원

1.4 장고의 기원과 역사
1.5 요약

2장 개발을 시작합니다

2.1 필요한 소프트웨어 설치하기

2.1.1 파이썬 설치

윈도(Windows)에서 파이썬 설치
유닉스/리눅스(Unix/Linux)에서 파이썬 설치
Mac OS X에서 파이썬 설치

2.1.2 장고 설치하기

윈도에서 장고 설치
Mac OS X, 유닉스/리눅스에서 장고 설치

2.2 장고 프로젝트를 시작합니다

2.2.1 장고 프로젝트를 만듭니다
2.2.2 데이터베이스를 구성합니다
2.2.3 개발 서버를 실행합니다

2.3 요약

3장 소셜 북마크 애플리케이션을 만들어봅니다

3.1 장고에서 사용하는 용어들
3.2 URL과 뷰: 메인 페이지 만들기

3.2.1 메인 페이지의 뷰 작성
3.2.2 메인 페이지의 URL 만들기

3.3 모델: 데이터베이스 구조 설계

3.3.1 Link 데이터 모델
3.3.2 User 데이터 모델
3.3.3 Bookmark 데이터 모델

3.4 템플릿: 메인 페이지의 템플릿 만들기
3.5 모두 모아서 사용자 페이지 만들기

3.5.1 URL 만들기
3.5.2 뷰 작성
3.5.3 템플릿 디자인
3.5.4 모델을 통해서 데이터 입력하기

3.6 요약

4장 사용자를 등록하고 관리합니다

4.1 세션 인증

4.1.1 로그인 페이지 만들기
4.1.2 로그아웃 기능 사용하기

4.2 템플릿 구조 개선
4.3 사용자 등록

4.3.1 장고 폼
4.3.2 사용자 등록 폼 디자인

4.4 사용자 계정 관리
4.5 요약

5장 태그

5.1 태그 데이터 모델
5.2 북마크 등록 폼 만들기

5.2.1 로그인한 사용자만 사용하도록 제한
5.2.2 북마크를 찾아보는 방법
5.2.3 사용자 페이지 개선
5.2.4 태그 페이지 만들기
5.2.5 태그 클라우드 만들기

5.3 보안에 대해서

5.3.1 SQL 인젝션
5.3.2 크로스-사이트 스크립팅

5.4 요약

6장 Ajax로 사용자 인터페이스를 향상시켜봅니다

6.1 Ajax를 웹 애플리케이션에서 사용하면서 얻는 장점
6.2 장고에서 Ajax 프레임워크 사용하기

6.2.1 jQuery 설치

6.3 jQuery 자바스크립트 프레임워크

6.3.1 엘리먼트 선택 기능
6.3.2 jQuery 메서드

엘리먼트 숨기고 드러내기
CSS 속성과 HTML 속성에 접근하기
HTML 문서 다루기
문서 구조에 접근
이벤트
Ajax 요청
그 다음은?

6.4 실시간 북마크 검색 구현

6.4.1 검색 구현
6.4.2 실시간 검색 구현

6.5 즉석에서 북마크 수정

6.5.1 북마크 수정 구현
6.5.2 북마크 즉석 수정

7장 평가하고 댓글 달기

7.1 메인 페이지에서 북마크 공유

7.1.1 SharedBookmark 데이터 모델
7.1.2 북마크 등록 폼 변경
7.1.3 공유한 북마크 찾아보고 평가하기
7.1.4 ‘인기있는 북마크’ 페이지

7.2 북마크에 댓글 달기

7.2.1 댓글 애플리케이션 추가
7.2.2 댓글의 뷰 작성
7.2.3 댓글 화면과 댓글 작성 폼
7.2.4 댓글 템플릿

7.3 요약

8장 관리자 화면을 만들어봅니다

8.1 관리자 화면 추가
8.2 관리자 화면 수정

8.2.1 목록 페이지 수정
8.2.2 관리자 화면 템플릿 수정

8.3 사용자, 그룹, 권한

8.3.1 사용자 권한
8.3.2 그룹 권한
8.3.3 뷰에서 권한 다루기

8.4 요약

9장 향상된 페이지 이동과 검색

9.1 RSS 피드 추가

9.1.1 ‘최근 등록된 북마크’ 피드 만들기

Item 필드 수정

9.1.2 사용자 북마크 피드 만들기
9.1.3 HTML 페이지에 링크 걸기

9.2 검색 개선하기

9.2.1 데이터베이스 API로 데이터 객체 가져오기
9.2.2 Q 객체를 사용하여 자세한 질의 만들기
9.2.3 검색 기능 개선

9.3 페이징 구성
9.4 요약

10장 사용자 네트워크 구축

10.1 친구 네트워크 구축

10.1.1 Friendship 데이터 모델
10.1.2 친구에 관련한 뷰 작성

친구 목록 뷰
친구 추가 뷰 작성

10.2 이메일로 친구 초대

10.2.1 Invitation 데이터 모델
10.2.2 ‘친구 초대’ 폼과 뷰
10.2.3 계정 확인 링크 다루기

10.3 알림 메시지로 사용성 개선
10.4 요약

11장 확장, 실행

11.1 국제화(i18n)

11.1.1 번역 가능하게 문자열 처리하기
11.1.2 번역 파일 만들기
11.1.3 국제화 시스템 설정하고 추가

11.2 캐시로 성능 향상

11.2.1 캐시 추가

간단한 캐싱
데이터베이스 캐시
파일 시스템 캐시
Memcached 캐시

11.2.2 캐시 설정

사이트 전체 캐시
특정한 뷰만 캐싱하기

11.3 단위 테스팅

11.3.1 테스트 클라이언트
11.3.2 사용자 등록 뷰 테스트
11.3.3 ‘북마크 저장하기’ 뷰 테스트

11.4 장고 실행

11.4.1 운영 웹 서버
11.4.2 운영 데이터베이스
11.4.3 디버그 모드 끄기
11.4.4 설정 바꾸기
11.4.5 에러 페이지 설정

11.5 요약

12장 그 다음은?

12.1 직접 만드는 템플릿 태그와 템플릿 필터
12.2 모델 매니저와 SQL 문 바로 사용하기
12.3 미리 정의된 뷰
12.4 미리 제공되는 하위 프레임워크들

12.4.1 Flatpages: HTML 바로 출력하기
12.4.2 Sites: 사이트 관리
12.4.3 Markup Filters: HTML 태그 외에 다른 마크업으로 페이지 구성하기
12.4.4 Humanize: 읽기 쉽게 데이터 처리
12.4.5 Sitemaps: 검색 엔진을 위한 사이트맵
12.4.6 XSS 방지

12.5 메시지 시스템
12.6 이메일 통보 시스템
12.7 사용자 통계와 평가
12.8 요약

부록A. 구글 앱엔진에서 소셜 북마크 애플리케이션 구현하기

A.1 구글 앱엔진
A.2 앱엔진 등록하기
A.3 앱엔진 설치하기
A.4 시작하기 전에 알아둬야 할 점