PYTHON FLASK WEB開發入門與項目實戰
作 者: 錢遊 著
定 價: 99
出?版?社: 機械工業出版社
出版日期: 2019年07月01日
頁 數: 356
裝 幀: 平裝
ISBN: 9787111630883
●前言
本書內容導圖
篇Flask基礎知識
章開發環境部署2
1.1Python的安裝及配置2
1.1.1Python的安裝2
1.1.2測試Python是否安裝成功7
1.2虛擬環境的配置8
1.3PyCharm的安裝及使用11
1.3.1PyCharm的及安裝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.1Web基礎知識21
2.2個FlaskWeb程序22
2.2.1安裝Flask框架23
2.2.2在Flask中輸出HelloWorld25
2.3URL傳遞參數28
2.4URL反轉29
2.5頁面跳轉和重定向30
2.6溫故知新31
2.7習題31
第3章Jinja2模板引擎33
3.1模板引擎概述及簡單使用33
3.2向模板中傳遞參數35
3.3模板中的控制語句之if語句38
3.4模板中的控制語句之for語句40
3.5Flask的過濾器42
3.5.1常見過濾器42
3.5.2自定義過濾器44
3.6宏的定義及使用46
3.6.1宏的定義46
3.6.2宏的導入47
3.6.3include的使用49
3.7set和with語句的使用50
3.8靜態文件的加載52
3.9模板的繼承54
3.10溫故知新57
3.11習題57
第4章Flask視圖不錯技術58
4.1app.route與add_url_rule簡介58
4.1.1app.route的使用58
4.1.2add_url_rule的使用59
4.2Flask類視圖61
4.2.1標準類視圖61
4.2.2基於方法的類視圖63
4.3Flask裝飾器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.3Cookie的使用86
5.3.1Cookie的基本概念86
5.3.2Cookie的基本使用87
5.3.3設置Cookie的作用域90
5.4Session的使用92
5.4.1Session的基本配置92
5.4.2Session的基本使用93
5.5鉤子函數的使用95
5.6溫故知新97
5.7習題97
第6章訪問數據庫98
6.1MySQL數據庫安裝98
6.1.1及安裝MySQL98
6.1.2測試MySQL是否安裝成功99
6.2Python數據庫框架MySQL-Python100
6.2.1MySQL-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-SQLAlchemy108
6.4.1SQLAlchemy的安裝108
6.4.2對像-關繫映射實質110
6.4.3為什麼使用ORM111
6.5Flask-SQLAlchemy初始化112
6.6Flask-SQLAlchemy模型與表映射方法1114
6.7Flask-SQLAlchemy模型與表映射方法2118
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.12Flask-Script工具的使用130
6.12.1安裝Flask-Script並初始化130
6.12.2Command子類創建命令131
6.12.3使用Command實例的@command修飾符132
6.12.4使用Command實例的@option修飾符創建命令132
6.13Flask循環引用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.1Memcached的安裝140
7.1.1Memcached的基本概念140
7.1.2Memcached的安裝141
7.2Memcached的基本使用143
7.2.1set和set_multi命令的使用143
7.2.2get和get_multi命令的使用144
7.2.3add命令的使用145
7.2.4replace命令的使用146
7.2.5append和prepend命令的使用147
7.2.6delete和delete_multi命令的使用148
7.2.7decr和incr命令的使用149
7.3Memcached的安全機制150
7.4溫故知新151
7.5習題151
第8章Bootstrap的基本使用152
8.1Bootstrap簡介152
8.2全局CSS樣式154
8.3柵格繫統156
8.4BootstrapCSS代碼162
8.5Bootstrap表格165
8.5.1基礎表格165
8.5.2條紋狀表格167
8.5.3帶邊框的表格168
8.5.4緊湊的表格和響應式表格170
8.5.5狀態類172
8.6Bootstrap表單173
8.6.1垂直表單174
8.6.2內聯表單175
8.6.3水平表單180
8.6.4支持的表單控件181
8.7Bootstrap按鈕182
8.8溫故知新185
8.9習題186
第2篇CMS新聞繫統開發
第9章CMS後臺管理員登錄實現188
9.1CMS繫統基本藍圖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
0章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
1章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
2章基於角色的訪問控制功能實現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
3章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
4章CMS繫統代碼優化332
14.1CSRF攻擊與防御332
14.2視圖函數的一些優化334
14.3將驗證碼保存到Memcached中336
14.4溫故知新337
14.5習題337
第3篇網站上線準備及部署
5章CMS繫統性能測測試340
15.1慢查詢SQL的檢測與記錄340
15.2Fla測試342
15.3溫故知新348
15.4習題348
6章網站部署349
16.1服務器部署349
16.1.1Gunicorn的安裝配置及使用350
16.1.2Nginx的安裝及使用352
16.1.3安裝MySQL354
16.2網站部署354
16.3溫故知新356
16.4習題356
內容簡介
本書從Flask框架的基礎知識講起,逐步深入到使用Flask進行Web應用開發實戰。其中,重點介紹了使用Flask+SQLAlchemy進行服務端開發,以及使用Jinja2模板引擎和Bootstrap進行前端頁面開發的方法,不但可以讓讀者繫統地學習用Python微型框架開發Web應用的相關知識,而且還能對Web開發中基於角色訪問權限控制的方法等相關知識有更為深入的理解。本書提供了大量的實戰案例引導讀者由淺入深地學習FlaskWeb應用開發,可以讓讀者的開發水平有質的提升。本書共16章,分為3篇。篇為Flask基礎知識,介紹了Flask開發的環境部署及入門知識,內容涵蓋了Flask程序的基本結構、Jinja2模板、Web表單、SQLAlchemy管理數據庫、裝飾器的定義和使用、Memcached緩存技術等;第2篇為CMS新聞繫統開發,介紹了數據庫設計、數據庫遷移、無限級分類的實現、登錄日志、......