前言
本書內容導圖
第1篇 Flask基礎知識
第1章 開發環境部署 2
1.1 Python的安裝及配置 2
1.1.1 Python的安裝 2
1.1.2 測試Python是否安裝成功 7
1.2 虛擬環境的配置 8
1.3 PyCharm的安裝及使用 11
1.3.1 PyCharm的下載及安裝 11
1.3.2 在PyCharm中新建工程 14
1.3.3 在PyCharm中設置UTF-8編碼自動創建 15
1.3.4 在PyCharm中使用已經設置好的虛擬環境 17
1.4 溫故知新 20
1.5 習題 20
第2章 Flask快速上手 21
2.1 Web基礎知識 21
2.2 第一個Flask Web程序 22
2.2.1 安裝Flask框架 23
2.2.2 在Flask中輸齣Hello World 25
2.3 URL傳遞參數 28
2.4 URL反轉 29
2.5 頁麵跳轉和重定嚮 30
2.6 溫故知新 31
2.7 習題 31
第3章 Jinja 2模闆引擎 33
3.1 模闆引擎概述及簡單使用 33
3.2 嚮模闆中傳遞參數 35
3.3 模闆中的控製語句之if語句 38
3.4 模闆中的控製語句之for語句 40
3.5 Flask的過濾器 42
3.5.1 常見過濾器 42
3.5.2 自定義過濾器 44
3.6 宏的定義及使用 46
3.6.1 宏的定義 46
3.6.2 宏的導入 47
3.6.3 include的使用 49
3.7 set和with語句的使用 50
3.8 靜態文件的加載 52
3.9 模闆的繼承 54
3.10 溫故知新 57
3.11 習題 57
第4章 Flask視圖高級技術 58
4.1 app.route與add_url_rule簡介 58
4.1.1 app.route的使用 58
4.1.2 add_url_rule的使用 59
4.2 Flask類視圖 61
4.2.1 標準類視圖 61
4.2.2 基於方法的類視圖 63
4.3 Flask裝飾器 66
4.3.1 裝飾器的定義和基本使用 66
4.3.2 對帶參數的函數使用裝飾器 68
4.4 藍圖 71
4.5 溫故知新 72
4.6 習題 73
第5章 Flask數據交互 74
5.1 使用Flask處理錶單 74
5.1.1 使用Flask處理通用錶單 74
5.1.2 使用Flask-WTF處理錶單 76
5.2 使用Flask上傳文件 80
5.2.1 使用Flask上傳文件的簡單實現 81
5.2.2 改進上傳功能 84
5.3 Cookie的使用 86
5.3.1 Cookie的基本概念 86
5.3.2 Cookie的基本使用 87
5.3.3 設置Cookie的作用域 90
5.4 Session的使用 92
5.4.1 Session的基本配置 92
5.4.2 Session的基本使用 93
5.5 鈎子函數的使用 95
5.6 溫故知新 97
5.7 習題 97
第6章 訪問數據庫 98
6.1 MySQL數據庫安裝 98
6.1.1 下載及安裝MySQL 98
6.1.2 測試MySQL是否安裝成功 99
6.2 Python數據庫框架MySQL-Python 100
6.2.1 MySQL-Python安裝 100
6.2.2 通過Python操作數據庫對象 101
6.3 通過MySQL-Python進行更新數據操作 105
6.3.1 增加數據 105
6.3.2 修改數據 106
6.3.3 刪除數據 107
6.4 初識Flask-SQLAlchemy 108
6.4.1 SQLAlchemy的安裝 108
6.4.2 對象-關係映射實質 110
6.4.3 為什麼使用ORM 111
6.5 Flask-SQLAlchemy初始化 112
6.6 Flask-SQLAlchemy模型與錶映射方法1 114
6.7 Flask-SQLAlchemy模型與錶映射方法2 118
6.8 數據的增、刪、改、查 119
6.8.1 數據添加 119
6.8.2 數據查詢 121
6.8.3 數據修改 122
6.8.4 數據刪除 123
6.9 使用Flask-SQLAlchemy創建一對一的關係錶 124
6.10 使用Flask-SQLAlchemy創建一對多的關係錶 126
6.11 使用Flask-SQLAlchemy創建多對多的關係錶 128
6.12 Flask-Script工具的使用 130
6.12.1 安裝Flask-Script並初始化 130
6.12.2 Command子類創建命令 131
6.12.3 使用Command實例的@command修飾符 132
6.12.4 使用Command實例的@option修飾符創建命令 132
6.13 Flask循環引用 133
6.14 使用Flask-Migrate實現數據庫遷移 136
6.14.1 安裝Flask-Migrate插件 136
6.14.2 使用Flask-Migrate的步驟 136
6.15 溫故知新 139
6.16 習題 139
第7章 Memcached緩存係統 140
7.1 Memcached的安裝 140
7.1.1 Memcached的基本概念 140
7.1.2 Memcached的安裝 141
7.2 Memcached的基本使用 143
7.2.1 set和set_multi命令的使用 143
7.2.2 get和get_multi命令的使用 144
7.2.3 add命令的使用 145
7.2.4 replace命令的使用 146
7.2.5 append和prepend命令的使用 147
7.2.6 delete和delete_multi命令的使用 148
7.2.7 decr和incr命令的使用 149
7.3 Memcached的安全機製 150
7.4 溫故知新 151
7.5 習題 151
第8章 Bootstrap的基本使用 152
8.1 Bootstrap簡介 152
8.2 全局CSS樣式 154
8.3 柵格係統 156
8.4 Bootstrap CSS代碼 162
8.5 Bootstrap錶格 165
8.5.1 基礎錶格 165
8.5.2 條紋狀錶格 167
8.5.3 帶邊框的錶格 168
8.5.4 緊湊的錶格和響應式錶格 170
8.5.5 狀態類 172
8.6 Bootstrap錶單 173
8.6.1 垂直錶單 174
8.6.2 內聯錶單 175
8.6.3 水平錶單 180
8.6.4 支持的錶單控件 181
8.7 Bootstrap按鈕 182
8.8 溫故知新 185
8.9 習題 186
第2篇 CMS新聞係統開發
第9章 CMS後颱管理員登錄實現 188
9.1 CMS係統基本藍圖 188
9.2 用戶模型定義 190
9.2.1 建立數據庫連接並創建用戶模型 190
9.2.2 用戶登錄密碼明文變密文的處理 193
9.3 管理員登錄 194
9.3.1 登錄頁的渲染 194
9.3.2 初步實現用戶的登錄 196
9.3.3 優化登錄-對錶單進行過濾驗證 199
9.3.4 優化登錄-啓用登錄驗證碼 200
9.3.5 優化登錄-記住我功能實現 205
9.4 限製用戶訪問 206
9.5 用戶名注銷功能實現 207
9.6 溫故知新 209
9.7 習題 210
第10章 CMS後颱文章模塊基本功能實現 211
10.1 管理員信息展示 211
10.1.1 管理員個人詳情頁搭建 211
10.1.2 管理員個人詳情頁實現 214
10.1.3 管理員密碼修改 215
10.2 文章欄目頁的實現 220
10.2.1 欄目無限級分類添加進數據庫 221
10.2.2 欄目的編輯功能 224
10.2.3 欄目的刪除功能 233
10.3 文章的添加、修改、刪除功能的實現 235
10.3.1 文章添加功能的基本實現 235
10.3.2 文章的列錶顯示 244
10.3.3 文章的編輯修改 247
10.3.4 文章的刪除 252
10.4 溫故知新 256
10.5 習題 256
第11章 CMS後颱基本評論及登錄日誌等功能的實現 258
11.1 評論信息管理 258
11.1.1 評論信息管理頁麵搭建 258
11.1.2 評論的下架和發布功能實現 267
11.1.3 評論的刪除功能實現 271
11.2 登錄日誌、操作日誌等功能實現 273
11.2.1 登錄日誌功能的實現 273
11.2.2 登錄日誌批量刪除功能的實現 280
11.3 溫故知新 282
11.4 習題 283
第12章 基於角色的訪問控製功能實現 284
12.1 權限、角色、用戶的數據庫設計 284
12.2 權限管理 286
12.2.1 添加權限 286
12.2.2 權限的列錶顯示 290
12.2.3 權限的編輯 294
12.2.4 權限的刪除 295
12.3 角色管理 297
12.3.1 角色的添加 297
12.3.2 角色的列錶顯示 301
12.3.3 角色的編輯功能實現 303
12.3.4 角色的刪除功能實現 305
12.4 基於角色的訪問控製思想及實現 307
12.5 溫故知新 310
12.6 習題 310
第13章 CMS網站前颱功能實現 311
13.1 用戶的注冊和登錄功能 311
13.1.1 用戶注冊頁麵的設計 311
13.1.2 用戶注冊功能的實現 315
13.1.3 用戶登錄功能的實現 318
13.2 網站首頁的基本實現 324
13.3 文章詳情頁功能實現 326
13.4 網站404頁麵功能實現 329
13.5 溫故知新 330
13.6 習題 331
第14章 CMS係統代碼優化 332
14.1 CSRF攻擊與防禦 332
14.2 視圖函數的一些優化 334
14.3 將驗證碼保存到Memcached中 336
14.4 溫故知新 337
14.5 習題 337
第3篇 網站上綫準備及部署
第15章 CMS係統性能測試與單元測試 340
15.1 慢查詢SQL的檢測與記錄 340
15.2 Flask單元測試 342
15.3 溫故知新 348
15.4 習題 348
第16章 網站部署 349
16.1 服務器部署 349
16.1.1 Gunicorn的安裝配置及使用 350
16.1.2 Nginx的安裝及使用 352
16.1.3 安裝MySQL 354
16.2 網站部署 354
16.3 溫故知新 356
16.4 習題 356
· · · · · · (
收起)