所屬網站分類: 資源下載 > python電子書 作者:熊貓燒香 鏈接:http://www.pythonheidong.com/blog/article/29/ 來源:python黑洞網 作者:熊貓燒香 鏈接:http://www.pythonheidong.com/blog/article/29 ...
所屬網站分類: 資源下載 > python電子書
作者:熊貓燒香
鏈接:http://www.pythonheidong.com/blog/article/29/
來源:python黑洞網
djano介紹
Django 是從真實世界的應用中成長起來的,它是由 堪薩斯(Kansas)州 Lawrence 城中的一個 網路開發小
組編寫的。 它誕生於 2003 年秋天,那時 Lawrence Journal-World 報紙的 程式員 Adrian Holovaty 和
Simon Willison 開始用 Python 來編寫程式。
當時他們的 World Online 小組製作並維護當地的幾個新聞站點, 併在以新聞界特有的快節奏開發環境中逐
漸發展。 這些站點包括有 LJWorld.com、Lawrence.com 和 KUsports.com, 記者(或管理層) 要求增加
的特征或整個程式都能在計劃時間內快速的被建立,這些時間通常只有幾天 或幾個小時。 因此,Adrian 和
Simon 開發了一種節省時間的網路程式開發框架, 這是在截止時間前能完成程式的唯一途徑。
2005 年的夏天,當這個框架開發完成時,它已經用來製作了很多個 World Online 的站點。 當時 World
Online 小組中的 Jacob Kaplan-Moss 決定把這個框架發佈為一個開源軟體。
從今往後數年,Django 是一個有著數以萬計的用戶和貢獻者,在世界廣泛傳播的完善開源項目。 原來的 World
Online 的兩個開發者(Adrian and Jacob)仍然掌握著 Django,但是其發展方向受社區團隊的影響更大。
這些歷史都是相關聯的,因為她們幫助解釋了很重要的兩點。 第一,Django 最可愛的地方。 Django 誕生於
新聞網站的環境中,因此它提供很多了特性(如第 6 章會說到的管理後臺),非常適合內容類的網站,如
Amazon.com, craigslist.org 和 washingtonpost.com,這些網站提供動態的,資料庫驅動的信息。 (不要
看到這就感到沮喪,儘管 Django 擅長於動態內容管理系統, 但並不表示 Django 主要的目的就是用來創建動
態內容的網站。 某些方面 * 特別高效* 與其他方面 * 不高效* 是有區別的, Django 在其他方面也同樣高
效。)
第二,Django 的起源造就了它的開源社區的文化。 因為 Django 來自於真實世界中的代碼,而不是 來自於
一個科研項目或者商業產品,她主要集中力量來解決 Web 開發中遇到的問題,同樣 也是 Django 的開發者經
常遇到的問題。 這樣,Django 每天在現有的基礎上進步。 框架的開發者對於讓開發人員節省時間,編寫更
加容易維護的程式,同時保證程式運行的效率具有極大的興趣。 無他,開發者動力來源於自己的目標:節省
時間,快樂工作。 (坦率地講,他們使用了自己公司的產品。)
報紙的 程式員 Adrian Holovaty 和
Simon Willison 開始用 Python 來編寫程式。
當時他們的 World Online 小組製作並維護當地的幾個新聞站點, 併在以新聞界特有的快節奏開發環境中逐
漸發展。 這些站點包括有 LJWorld.com、Lawrence.com 和 KUsports.com, 記者(或管理層) 要求增加
的特征或整個程式都能在計劃時間內快速的被建立,這些時間通常只有幾天 或幾個小時。 因此,Adrian 和
Simon 開發了一種節省時間的網路程式開發框架, 這是在截止時間前能完成程式的唯一途徑。
2005 年的夏天,當這個框架開發完成時,它已經用來製作了很多個 World Online 的站點。 當時 World
Online 小組中的 Jacob Kaplan-Moss 決定把這個框架發佈為一個開源軟體。
從今往後數年,Django 是一個有著數以萬計的用戶和貢獻者,在世界廣泛傳播的完善開源項目。 原來的 World
Online 的兩個開發者(Adrian and Jacob)仍然掌握著 Django,但是其發展方向受社區團隊的影響更大。
這些歷史都是相關聯的,因為她們幫助解釋了很重要的兩點。 第一,Django 最可愛的地方。 Django 誕生於
新聞網站的環境中,因此它提供很多了特性(如第 6 章會說到的管理後臺),非常適合內容類的網站,如
Amazon.com, craigslist.org 和 washingtonpost.com,這些網站提供動態的,資料庫驅動的信息。 (不要
看到這就感到沮喪,儘管 Django 擅長於動態內容管理系統, 但並不表示 Django 主要的目的就是用來創建動
態內容的網站。 某些方面 * 特別高效* 與其他方面 * 不高效* 是有區別的, Django 在其他方面也同樣高
效。)
第二,Django 的起源造就了它的開源社區的文化。 因為 Django 來自於真實世界中的代碼,而不是 來自於
一個科研項目或者商業產品,她主要集中力量來解決 Web 開發中遇到的問題,同樣 也是 Django 的開發者經
常遇到的問題。 這樣,Django 每天在現有的基礎上進步。 框架的開發者對於讓開發人員節省時間,編寫更
加容易維護的程式,同時保證程式運行的效率具有極大的興趣。 無他,開發者動力來源於自己的目標:節省
時間,快樂工作。 (坦率地講,他們使用了自己公司的產品。)
1 8 B 如何閱讀本書
在編寫本書時,我們努力嘗試在可讀性和參考性間做一個平衡,當然本書會偏向於可 讀性。 本書的目標,
之前也提過,是要將你培養成一名 Django 專家,我們相信,最好 的方式就是提供文章和充足的實例,而不
是一堆詳盡卻乏味的關於 Django 特色的手冊。 (曾經有人說過,如果僅僅教字母表是無法教會別人說話的。
在編寫本書時,我們努力嘗試在可讀性和參考性間做一個平衡,當然本書會偏向於可 讀性。 本書的目標,
之前也提過,是要將你培養成一名 Django 專家,我們相信,最好 的方式就是提供文章和充足的實例,而不
是一堆詳盡卻乏味的關於 Django 特色的手冊。 (曾經有人說過,如果僅僅教字母表是無法教會別人說話的。
13
按照這種思路,我們推薦按順序閱讀第 1-12 章。 這些章節構成瞭如何使用 Django 的基礎;讀過之後,你
就可以搭建由 Django 支撐的網站了。 1-7 章是核心課程,8-11 章講述 Django 的高級應用,12 章講述部署
相關的知識。 剩下的 13-20 章,講述 Django 特有的特點,可以任意順序閱讀。
附錄部分用作參考資料。 要回憶語法或查閱 Django 某部分的功能概要時,你偶爾可能會回來翻翻這些資料
以及
按照這種思路,我們推薦按順序閱讀第 1-12 章。 這些章節構成瞭如何使用 Django 的基礎;讀過之後,你
就可以搭建由 Django 支撐的網站了。 1-7 章是核心課程,8-11 章講述 Django 的高級應用,12 章講述部署
相關的知識。 剩下的 13-20 章,講述 Django 特有的特點,可以任意順序閱讀。
附錄部分用作參考資料。 要回憶語法或查閱 Django 某部分的功能概要時,你偶爾可能會回來翻翻這些資料
以及 H U http://www.djangoproject.com/ U H 上的免費文檔。
1 0 6 B 所需編程知識
本書讀者需要理解基本的面向過程和麵向對象編程: 流程式控制制( if , while 和 for ),數據結構(列表,
哈希表/字典),變數,類和對象。
Web 開發經驗,正如你所想的,也是非常有幫助的,但是對於閱讀本書,並不是必須的。 通過本書,我們盡
量給缺乏經驗的開發人員提供在 Web 開發中最好的實踐。
本書讀者需要理解基本的面向過程和麵向對象編程: 流程式控制制( if , while 和 for ),數據結構(列表,
哈希表/字典),變數,類和對象。
Web 開發經驗,正如你所想的,也是非常有幫助的,但是對於閱讀本書,並不是必須的。 通過本書,我們盡
量給缺乏經驗的開發人員提供在 Web 開發中最好的實踐。
1 0 7 B Python所需知識
本質上來說, Django 只不過是用 Python 編寫的一組類庫。 用 Django 開發站點就是使用這些類庫編寫
Python 代碼。 因此,學習 Django 的關鍵就是學習如何進行 Python 編程並理解 Django 類庫的運作方式。
如果你有 Python 開發經驗,在學習過程中應該不會有任何問題。 基本上,Django 的代碼並 沒有使用一些黑
色魔法(例如代碼中的欺騙行為,某個實現解釋或者理解起來十分困難)。 對你來說,學習 Django 就是學
習她的命名規則和 API。
目錄
Django book 2.0 中文 U ............................................. 1
U 第一章:介紹Django U ............................................... 8
U 框架是什麼? U .................................................. 9
U MVC 設計模式 U ................................................ 10
U Django 歷史 U ................................................. 11
U 如何閱讀本書 U ................................................ 12
U 所需編程知識 U ............................................. 13
U Python所需知識 U ........................................... 13
U Django版本支持 U ........................................... 13
U 獲取幫助 U ................................................. 13
U 下一章 U ................................................... 14
U 第二章:入門 U ..................................................... 14
U Python 安裝 U ................................................. 14
U Python版本 U ............................................... 14
U 安裝 U ..................................................... 15
U 安裝 Django U ................................................. 15
U 安裝官方發佈版 U ........................................... 15
U 安裝Trunk版本 U ............................................ 16
U 測試Django安裝 U .............................................. 17
U 安裝資料庫 U .................................................. 17
U 在 Django 中使用 PostgreSQL U .............................. 18
U 在 Django 中使用 SQLite 3 U ................................ 18
U 在 Django 中使用 MySQL U ................................... 19
U 在Django中使用Oracle資料庫 U ............................... 19
U 使用無資料庫支持的 Django U ................................ 19
U 開始一個項目 U ................................................ 19
U 運行開發伺服器 U ........................................... 21
U 接下來做什麼? U ............................................... 21
U 第三章 視圖和URL配置 U ............................................ 22
U 你的第一個基於Django的頁面: Hello World U ..................... 22
U 第一份視圖: U ............................................. 22
U 你的第一個URLconf U ........................................ 23
U 關於“404 錯誤”的快速參考 U ................................ 26
U 關於網站根目錄的快速參考。 U ............................... 27
U Django是怎麼處理請求的 U ....................................... 28
U 第二個視圖: 動態內容 U ........................................ 29
U URL配置和松耦合 U ............................................. 30
U 第三個視圖 動態URL U .......................................... 31
U Django 漂亮的出錯頁面 U ........................................ 34
U 下一章 U ...................................................... 36
U 第四章 模板 U ..................................................... 36
U 模板系統基本知識 U ............................................ 36
U 如何使用模板系統 U ............................................ 38
2
U 創建模板對象 U ............................................. 38
U 模板渲染 U ................................................. 40
U 同一模板,多個上下文 U ..................................... 41
U 深度變數的查找 U ........................................... 42
U 玩一玩上下文(context)對象 U ................................ 45
U 基本的模板標簽和過濾器 U ....................................... 46
U 標簽 U ..................................................... 46
U 過濾器 U ................................................... 52
U 理念與局限 U .................................................. 52
U 在視圖中使用模板 U ............................................ 53
U 模板載入 U .................................................... 54
U render_to_response() U ..................................... 57
U locals() 技巧 U ............................................ 58
U get_template()中使用子目錄 U ............................... 59
U include 模板標簽 U ......................................... 59
U 模板繼承 U .................................................... 60
U 下一章 U ...................................................... 63
U 第 5 章 模型 U ..................................................... 64
U 在視圖中進行資料庫查詢的笨方法 U ............................... 64
U MTV 開發模式 U ................................................ 65
U 資料庫配置 U .................................................. 66
U 第一個應用程式 U .............................................. 68
U 在Python代碼里定義模型 U ....................................... 69
U 第一個模型 U .................................................. 70
U 模型安裝 U .................................................... 71
U 基本數據訪問 U ................................................ 74
U 添加模塊的字元串表現 U ......................................... 75
U 插入和更新數據 U .............................................. 77
U 選擇對象 U .................................................... 78
U 數據過濾 U ................................................. 79
U 獲取單個對象 U ............................................. 79
U 數據排序 U ................................................. 80
U 連鎖查詢 U ................................................. 81
U 限制返回的數據 U ........................................... 82
U 更新多個對象 U ............................................. 82
U 刪除對象 U .................................................... 83
U 下一章 U ...................................................... 84
U 第六章 Django站點管理 U ........................................... 85
U django.contrib 包 U ........................................... 85
U 激活管理界面 U ................................................ 85
U ,使用管理工具。 U ............................................ 86
U 將你的Models加入到Admin管理中 U ................................ 92
U Admin是如何工作的 U ........................................... 93
U 設置欄位可選 U ................................................ 93
U 設置日期型和數字型欄位可選 U ............................... 94
U 自定義欄位標簽 U .............................................. 95
U 自定義ModelAdmi類 U ........................................... 96
U 自定義列表 U ............................................... 96
U 自定義編輯表單 U ........................................... 99
3
U 用戶、用戶組和許可權 U ......................................... 101
U 何時、為什麼使用管理界面?何時又不使用呢? U .................. 102
U 下一章 U ..................................................... 102
U 第 7 章 表單 U .................................................... 103
U 從Request對象中獲取數據 U ..................................... 103
U URL相關信息 U ............................................. 103
U 有關request的其它信息 U ................................... 104
U 提交的數據信息 U .......................................... 105
U 一個簡單的表單處理示例 U ...................................... 105
U 改進表單 U ................................................... 108
U 簡單的驗證 U ................................................. 110
U 編寫Contact表單 U ............................................ 112
U 第一個Form類 U ............................................... 115
U 在視圖中使用Form對象 U ........................................ 118
U 改變欄位顯示 U ............................................... 119
U 設置最大長度 U ............................................... 119
U 設置初始值 U ................................................. 119
U 自定義校驗規則 U ............................................. 120
U 指定標簽 U ................................................... 121
U 定製Form設計 U ............................................... 121
U 下一章 U ..................................................... 123
U 第八章:高級視圖和URL配置 U ...................................... 123
U URLconf 技巧 U ............................................... 123
U 流線型化(Streamlining)函數導入 U ........................... 123
U 使用多個視圖首碼 U ........................................ 125
U 調試模式中的特例 U ........................................ 126
U 使用命名組 U .............................................. 126
U 理解匹配/分組演算法 U ....................................... 128
U 傳遞額外的參數到視圖函數中 U .............................. 128
U 使用預設視圖參數 U ........................................ 133
U 特殊情況下的視圖 U ........................................ 134
U 從URL中捕獲文本 U ......................................... 135
U 決定URLconf搜索的東西 U ................................... 136
U 視圖函數的高級概念 U ...................................... 136
U 包裝視圖函數 U ............................................ 139
U 包含其他URLconf U ............................................ 140
U 捕獲的參數如何和include()協同工作 U ........................ 141
U 額外的URLconf如何和include()協同工作 U ..................... 141
U 下一章 U ..................................................... 142
U 第九章 模板高級進階 U ............................................ 143
U 模板語言回顧 U ............................................... 143
U RequestContext和Context處理器 U ............................... 143
U django.core.context_processors.auth U ...................... 146
U django.core.context_processors.debug U ..................... 147
U django.core.context_processors.i18n U ...................... 147
U django.core.context_processors.request U ................... 147
U 寫Context處理器的一些建議 U ............................... 148
U html自動轉意 U ............................................... 148
U 如何關閉它 U .............................................. 149
4
U 備註 U .................................................... 150
U 過濾器參數里的字元串常量的自動轉義 U ....................... 151
U 模板載入的內幕 U ............................................. 151
U 擴展模板系統 U ............................................... 152
U 創建一個模板庫 U .......................................... 152
U 自定義模板過濾器 U ........................................ 153
U 自定義模板標簽 U .......................................... 154
U 編寫編譯函數 U ............................................ 155
U 編寫模板節點 U ............................................ 156
U 註冊標簽 U ................................................ 157
U 在上下文中設置變數 U ...................................... 157
U 分析直至另一個模板標簽 U .................................. 159
U 分析直至另外一個模板標簽並保存內容 U ....................... 159
U 簡單標簽的快捷方式 U ...................................... 160
U 包含標簽 U ................................................ 161
U 編寫自定義模板載入器 U ........................................ 162
U 配置獨立模式下的模板系統 U .................................... 163
U 接下來做什麼? U ............................................. 164
U 第 10 章: 數據模型高級進階 U ..................................... 164
U 相關對象 U ................................................... 164
U 訪問外鍵(Foreign Key)值 U ................................. 165
U 訪問多對多值(Many-to-Many Values) U ........................ 166
U 更改資料庫模式(Database Schema) U ............................. 166
U 添加欄位 U ................................................ 166
U 刪除欄位 U ................................................ 168
U 刪除多對多關聯欄位 U ...................................... 168
U 刪除模型 U ................................................ 169
U Managers U ................................................... 169
U 增加額外的Manager方法 U ................................... 169
U 修改初始Manager QuerySets U ............................... 170
U 模型方法 U ................................................... 172
U 執行原始SQL查詢 U ............................................ 173
U 接下來做什麼? U ............................................. 174
U 第 11 章 通用視圖 U ............................................... 174
U 使用通用視圖 U ............................................... 174
U 對象的通用視圖 U ............................................. 176
U 擴展通用視圖 U ............................................... 177
U 製作友好的模板Context U ................................... 177
U 添加額外的Context U ....................................... 178
U 顯示對象的子集 U .......................................... 179
U 用函數包裝來處理複雜的數據過濾 U ........................... 180
U 處理額外工作 U ............................................ 180
U 下一章 U ..................................................... 182
U 第十二章: 部署Django U .......................................... 182
U 準備你的代碼庫 U ............................................. 182
U 關閉Debug模式. U .......................................... 182
U 來關閉模板Debug模式。 U ................................... 183
U 實現一個 404 模板 U ........................................ 183
U 實現一個 500 模板 U ........................................ 183
5
U 設置錯誤警告 U ............................................ 184
U 設置連接中斷警報 U ........................................ 184
U 使用針對產品的不同的設置 U .................................... 185
U DJANGO_SETTINGS_MODULE U ...................................... 186
U 用Apache和mod_python來部署Django U ............................ 187
U 基本配置 U ................................................ 187
U 在同一個 Apache 的實例中運行多個 Django 程式 U ............. 188
U 用 mod_python 運行一個開發伺服器 U ......................... 189
U 使用相同的Apache實例來服務Django和Media文件 U .............. 189
U 錯誤處理 U ................................................ 190
U 處理段錯誤 U .............................................. 190
U 一種替代方案: mod_wsgi模塊 U ............................. 191
U 使用FastCGI部署Django應用 U ................................... 191
U FastCGI 簡介 U ............................................ 191
U 運行你的 FastCGI 伺服器 U ................................. 192
U 在Apache中以FastCGI的方式使用Django U ...................... 193
U FastCGI 和 lighttpd U ..................................... 194
U 在使用Apache的共用主機服務商處運行Django U ................. 195
U 可擴展性 U ................................................... 196
U 運行在一臺單機伺服器上 U .................................. 196
U 分離出資料庫伺服器 U ...................................... 197
U 運行一個獨立的媒體伺服器 U ................................ 198
U 實現負擔均衡和數據冗餘備份 U .............................. 198
U 慢慢變大 U ................................................ 199
U 性能優化 U ................................................... 200
U RAM怎麼也不嫌多 U ......................................... 200
U 禁用 Keep-Alive U ......................................... 201
U 使用 memcached U .......................................... 201
U 經常使用memcached U ....................................... 201
U 參加討論 U ................................................ 201
U 下一章 U ..................................................... 201
U 第十三章: 輸出非HTML內容 U ...................................... 202
U 基礎: 視圖和MIME類型 U ....................................... 202
U 生成 CSV 文件 U .............................................. 203
U 生成 PDF 文件 U .............................................. 204
U 安裝 ReportLab U .......................................... 204
U 編寫視圖 U ................................................ 205
U 複雜的 PDF 文件 U ......................................... 206
U 其它的可能性 U ............................................... 206
U 內容聚合器應用框架 U ......................................... 207
U 初始化 U .................................................. 207
U 一個簡單的Feed U .......................................... 208
U 一個更複雜的Feed U ........................................ 209
U 指定Feed的類型 U .......................................... 211
U 閉包 U .................................................... 211
U 語言 U .................................................... 212
U URLs U .................................................... 212
U 同時發佈Atom and RSS U .................................... 212
U Sitemap 框架 U ............................................... 213
6
U 安裝 U .................................................... 214
U Initialization U .......................................... 214
U Sitemap 類 U .............................................. 214
U 快捷方式 U ................................................ 216
U 創建一個Sitemap索引 U ..................................... 217
U 通知Google U .............................................. 217
U 下一章 U ..................................................... 218
U 第十四章: 會話、用戶和註冊 U .................................... 218
U Cookies U .................................................... 218
U 存取Cookies U ............................................. 219
U 好壞參半的Cookies U ....................................... 221
U Django的 Session 框架 U ....................................... 222
U 打開 Sessions功能 U ....................................... 222
U 在視圖中使用Session U ..................................... 222
U 設置測試Cookies U ......................................... 224
U 在視圖(View)外使用Session U ............................... 225
U 何時保存Session U ......................................... 225
U 瀏覽器關閉即失效會話 vs 持久會話 U ......................... 226
U 其他的Session設置 U ....................................... 226
U 用戶與Authentication U ........................................ 227
U 打開認證支持 U ............................................ 227
U 使用User對象 U ............................................ 228
U 登錄和退出 U .............................................. 231
U 限制已登錄用戶的訪問 U .................................... 233
U 對通過測試的用戶限制訪問 U ................................ 234
U 管理 Users, Permissions 和 Groups U ........................ 235
U 在模板中使用認證數據 U .................................... 237
U 許可權、組和消息 U ............................................. 238
U 許可權 U .................................................... 238
組...................................................... 238
.................................................... 238
組...................................................... 238
U 消息 U .................................................... 239
U 下一章 U ..................................................... 240
U 第十五章: 緩存機制 U ............................................ 240
U 設定緩存 U ................................................... 240
U 記憶體緩衝 U ................................................ 241
U 資料庫緩存 U .............................................. 241
U 文件系統緩存 U ............................................ 242
U 本地記憶體緩存 U ............................................ 242
U 仿緩存(供開發時使用) U .................................. 242
U 使用自定義緩存後端 U ...................................... 243
U CACHE_BACKEND參數 U ....................................... 243
U 站點級 Cache U ............................................... 243
U 視圖級緩存 U ................................................. 244
U 在 URLconf 中指定視圖緩存 U ............................... 245
U 模板碎片緩存 U ............................................... 246
U 低層次緩存API U .............................................. 246
U 上游緩存 U ................................................... 248
U 使用 Vary頭部 U .............................................. 248
U 控制緩存: 使用其它頭部 U ..................................... 250
7
U 其他優化 U ................................................... 251
U MIDDLEWARE_CLASSES 的順序 U ................................... 251
U 下一章 U ..................................................... 252
U 第十六章:集成的子框架 django.contrib U .......................... 252
U Django標準庫 U ............................................... 252
U 多個站點 U ................................................... 253
U 情景 1:多站點間復用數據 U ................................. 253
U 情景 2:把網站的名字/功能變數名稱保存在一個地方 U .................. 254
U 如何使用多站點框架 U ...................................... 254
U 多站點框架的功能 U ........................................ 254
U 當前站點管理器 U .......................................... 257
U Django如何使用多站點框架 U ................................ 258
U Flatpages(簡單頁面) U ........................................ 259
U 使用簡單頁面 U ............................................ 259
U 添加、修改和刪除簡單頁面 U ................................ 261
U 使用簡單頁面模板 U ........................................ 261
U 重定向 U ..................................................... 262
U 使用重定向框架 U .......................................... 262
U 增加、變更和刪除重定向 U .................................. 263
U CSRF 防護 U .................................................. 263
U 一個簡單的 CSRF 例子 U .................................... 263
U 稍微複雜一點的CSRF例子 U .................................. 264
U 防止 CSRF U ............................................... 264
U 人性化數據 U ................................................. 265
U apnumber U ................................................ 265
U intcomma U ................................................ 266
U intword U ................................................. 266
U ordinal U ................................................. 266
U 標記過濾器 U ................................................. 267
U 下一章 U ..................................................... 267
U 第十七章: 中間件 U .............................................. 267
U 什麼是中間件 U ............................................... 268
U 安裝中間件 U ................................................. 268
U 中間件方法 U ................................................. 269
U Initializer: __init__(self) __init__(self)「初始化] U ..... 269
U Request預處理函數: process_request(self, request) process_request(self, request) U 269
U View預處理函數: process_view(self, request, view, args, kwargs) process_view(self, request,
view, args, kwargs)
View預處理函數: process_view(self, request, view, args, kwargs) process_view(self, request,
view, args, kwargs) U ..................................... 270
U Response後處理函數: process_response(self, request, response) process_response(self,
request, response)
Response後處理函數: process_response(self, request, response) process_response(self,
request, response) U ...................................... 270
U Exception後處理函數: process_exception(self, request, exception) process_exception(self,
request, exception)
Exception後處理函數: process_exception(self, request, exception) process_exception(self,
request, exception) U ..................................... 271
U 內置的中間件 U ............................................... 271
U 認證支持中間件 U .......................................... 271
U 通用中間件 U .............................................. 271
U 壓縮中間件 U .............................................. 272
U 條件化的GET中間件 U ....................................... 272
U 反向代理支持 (X-Forwarded-For中間件) U ..................... 273
U 會話支持中間件 U .......................................... 273
8
U 站點緩存中間件 U .......................................... 273
U 事務處理中間件 U .......................................... 273
U 下一章 U ..................................................... 274
U 第十八章: 集成已有的資料庫和應用 U .............................. 274
U 與遺留資料庫整合 U ........................................... 274
U 使用 inspectdb U .......................................... 274
U 清理生成的Models U ........................................ 275
U 與認證系統的整合 U ........................................... 276
U 指定認證後臺 U ............................................ 276
U 編寫認證後臺 U ............................................ 276
U 和遺留Web應用集成 U .......................................... 278
U 下一章 U ..................................................... 278
U 第十九章: 國際化 U .............................................. 279
U 1、如何指定待翻譯字元串 U ..................................... 280
U 在Python 代碼中 U ......................................... 280
U 模板代碼 U ................................................ 282
U 與惰性翻譯對象一道工作 U .................................. 284
U 2、如何創建語言文件 U ......................................... 285
U 消息文件 U ................................................ 285
U 編譯信息文件 U ............................................ 287
U Django如何處理語言偏好 U ...................................... 287
U 在你自己的項目中使用翻譯 U .................................... 289
U set_language 重定向視圖 U ..................................... 290
U 翻譯與JavaScript U ........................................... 291
U javascript_catalog視圖 U .................................. 291
U 使用JavaScript翻譯目錄 U .................................. 292
U 創建JavaScript翻譯目錄 U .................................. 292
U 熟悉 gettext 用戶的註意事項 U ................................. 293
U Windows下的gettext U ......................................... 293
U 下一章 U ..................................................... 293