Python Flask Web 開發入門與項目實戰

錢游 編著

  • 出版商: 機械工業
  • 出版日期: 2019-07-01
  • 售價: $594
  • 貴賓價: 9.5$564
  • 語言: 簡體中文
  • ISBN: 7111630882
  • ISBN-13: 9787111630883
  • 相關分類: FlaskPython程式語言
  • 立即出貨

買這商品的人也買了...

商品描述

本書從Flask框架的基礎知識講起,逐步深入到使用Flask進行Web應用開發實戰。其中,重點介紹了使用Flask+SQLAlchemy進行服務端開發,以及使用Jinja 2模板引擎和Bootstrap進行前端頁面開發的方法,不但可以讓讀者系統地學慣用Python微型框架開發Web應用的相關知識,而且還能對Web開發中基於角色訪問權限控制的方法等相關知識有更為深入的理解。本書提供了大量的實戰案例引導讀者由淺入深地學習Flask Web應用開發,可以讓讀者的開發水平有質的提升。
本書共16章,分為3篇。第1篇為Flask基礎知識,介紹了Flask開發的環境部署及入門知識,內容涵蓋了Flask程序的基本結構、Jinja 2模板、Web表單、SQLAlchemy管理數據庫、裝飾器的定義和使用、Memcached緩存技術等;第2篇為CMS新聞系統開發,介紹了數據庫設計、數據庫遷移、無限級分類的實現、登錄日誌、角色的訪問權限控制等內容;第3篇為網站上線準備,介紹了Web程序上線部署前必須要進行的單元測試、性能優化和環境部署等內容。
本書內容通俗易懂,案例豐富,實用性強,特別適合Python Web開發的入門讀者和進階讀者學習,也適合PHP程序員和Java程序員等其他Web開發愛好者閱讀。另外,本書可以作為相關培訓機構的教材用書。

目錄大綱

前言
本書內容導圖
第1篇Flask基礎知識
第1章開發環境部署
1.1 Python的安裝及配置
1.1.1 Python的安裝
1.1.2測試Python是否安裝成功
1.2虛擬環境的配置
1.3 PyCharm的安裝及使用
1.3 .1 PyCharm的下載及安裝
1.3.2在PyCharm中新建工程
1.3.3在PyCharm中設置UTF-8編碼自動創建
1.3.4在PyCharm中使用已經設置好的虛擬環境
1.4溫故知新
1.5習題
第2章Flask快速上手
2.1 Web基礎知識
2.2第一個Flask Web程序
2.2.1安裝Flask框架
2.2.2在Flask中輸出Hello World 
2.3 URL傳遞參數
2.4 URL反轉
2.5頁面跳轉和重定向
2.6溫故知新
2.7習題
第3章Jinja 2模板引擎
3.1模板引擎概述及簡單使用
3.2向模板中傳遞參數
3.3模板中的控制語句之if語句
3.4模板中的控制語句之for語句
3.5 Flask的過濾器
3.5.1常見過濾器
3.5.2自定義過濾器
3.6宏的定義及使用
3.6.1宏的定義
3.6.2宏的導入
3.6.3 include的使用
3.7 set和with語句的使用
3.8靜態文件的加載
3.9模板的繼承
3.10溫故知新
3.11習題
第4章Flask視圖高級技術
4.1 app.route與add_url_rule簡介
4.1.1 app.route的使用
4.1.2 add_url_rule的使用
4.2 Flask類視圖
4.2.1標準類視圖
4.2.2基於方法的類視圖
4.3 Flask裝飾器
4.3.1裝飾器的定義和基本使用
4.3.2對帶參數的函數使用裝飾器
4.4藍圖
4.5溫故知新
4.6習題
第5章Flask數據交互
5.1使用Flask處理表單
5.1.1使用Flask處理通用表單
5.1.2使用Flask-WTF處理表單
5.2使用Flask上傳文件
5.2.1使用Flask上傳文件的簡單實現
5.2.2改進上傳功能
5.3 Cookie的使用
5.3.1 Cookie的基本概念
5.3.2 Cookie的基本使用
5.3.3設置Cookie的作用域
5.4 Session的使用
5.4.1 Session的基本配置
5.4.2 Session的基本使用
5.5鉤子函數的使用
5.6溫故知新
5.7習題
第6章訪問數據庫
6.1 MySQL數據庫安裝
6.1.1下載及安裝MySQL 
6.1.2測試MySQL是否安裝成功
6.2 Python數據庫框架MySQL-Python 
6.2.1 MySQL-Python安裝
6.2.2通過Python操作數據庫對象
6.3通過MySQL-Python進行更新數據操作
6.3.1增加數據
6.3.2修改數據
6.3.3刪除數據
6.4初識Flask-SQLAlchemy 
6.4.1 SQLAlchemy的安裝
6.4.2對象-關係映射實質
6.4.3為什麼使用ORM 
6.5 Flask-SQLAlchemy初始化
6.6 Flask-SQLAlchemy模型與表映射方法1 
6.7 Flask-SQLAlchemy模型與表映射方法2 
6.8數據的增、刪、改、查
6.8.1數據添加
6.8.2數據查詢
6.8.3數據修改
6.8.4數據刪除
6.9使用Flask-SQLAlchemy創建一對一的關係表
6.10使用Flask-SQLAlchemy創建一對多的關係表
6.11使用Flask-SQLAlchemy創建多對多的關係表
6.12 Flask-Script工具的使用
6.12.1安裝Flask-Script並初始化
6.12.2 Command子類創建命令
6.12.3使用Command實例的@command修飾符
6.12.4使用Command實例的@option修飾符創建命令
6.13 Flask循環引用
6.14使用Flask-Migrate實現數據庫遷移
6.14.1安裝Flask-Migrate插件
6.14.2使用Flask-Migrate的步驟
6.15溫故知新
6.16習題
第7章Memcached緩存系統
7.1 Memcached的安裝
7.1.1 Memcached的基本概念
7.1.2 Memcached的安裝
7.2 Memcached的基本使用
7.2.1 set和set_multi命令的使用
7.2.2 get和get_multi命令的使用
7.2.3 add命令的使用
7.2.4 replace命令的使用
7.2.5 append和prepend命令的使用
7.2.6 delete和delete_multi命令的使用
7.2.7 decr和incr命令的使用
7.3 Memcached的安全機制
7.4溫故知新
7.5習題
第8章Bootstrap的基本使用
8.1 Bootstrap簡介
8.2全局CSS樣式
8.3柵格系統
8.4 Bootstrap CSS代碼
8.5 Bootstrap表格
8.5.1基礎表格
8.5.2條紋狀表格
8.5.3帶邊框的表格
8.5.4緊湊的表格和響應式表格
8.5.5狀態類
8.6 Bootstrap表單
8.6.1垂直表單
8.6.2內聯表單
8.6.3水平表單
8.6.4支持的表單控件
8.7 Bootstrap按鈕
8.8溫故知新
8.9習題
第2篇CMS新聞系統開發
第9章CMS後台管理員登錄實現
9.1 CMS系統基本藍圖
9.2用戶模型定義
9.2.1建立數據庫連接並創建用戶模型
9.2.2用戶登錄密碼明文變密文的處理
9.3管理員登錄
9.3.1登錄頁的渲染
9.3.2初步實現用戶的登錄
9.3.3優化登錄-對錶單進行過濾驗證
9.3.4優化登錄-啟用登錄驗證碼
9.3.5優化登錄-記住我功能實現
9.4限制用戶訪問
9.5用戶名註銷功能實現
9.6溫故知新
9.7習題
第10章CMS後台文章模塊基本功能實現
10.1管理員信息展示
10.1.1管理員個人詳情頁搭建
10.1.2管理員個人詳情頁實現
10.1.3管理員密碼修改
10.2文章欄目頁的實現
10.2.1欄目無限級分類添加進數據庫
10.2.2欄目的編輯功能
10.2.3欄目的刪除功能
10.3文章的添加、修改、刪除功能的實現
10.3.1文章添加功能的基本實現
10.3.2文章的列表顯示
10.3.3文章的編輯修改
10.3.4文章的刪除
10.4溫故知新
10.5習題
第11章CMS後台基本評論及登錄日誌等功能的實現
11.1評論信息管理
11.1.1評論信息管理頁面搭建
11.1.2評論的下架和發布功能實現
11.1.3評論的刪除功能實現
11.2登錄日誌、操作日誌等功能實現
11.2.1登錄日誌功能的實現
11.2.2登錄日誌批量刪除功能的實現
11.3溫故知新
11.4習題
第12章基於角色的訪問控制功能實現
12.1權限、角色、用戶的數據庫設計
12.2權限管理
12.2.1添加權限
12.2.2權限的列表顯示
12.2.3權限的編輯
12.2.4權限的刪除
12.3角色管理
12.3.1角色的添加
12.3.2角色的列表顯示
12.3.3角色的編輯功能實現
12.3.4角色的刪除功能實現
12.4基於角色的訪問控制思想及實現
12.5溫故知新
12.6習題
第13章CMS網站前台功能實現
13.1用戶的註冊和登錄功能
13.1.1用戶註冊頁面的設計
13.1.2用戶註冊功能的實現
13.1.3用戶登錄功能的實現
13.2網站首頁的基本實現
13.3文章詳情頁功能實現
13.4網站404頁面功能實現
13.5溫故知新
13.6習題
第14章CMS系統代碼優化
14.1 CSRF攻擊與防禦
14.2視圖函數的一些優化
14.3將驗證碼保存到Memcached中
14.4溫故知新
14.5習題
第3篇網站上線準備及部署
第15章CMS系統性能測試與單元測試
15.1慢查詢SQL的檢測與記錄
15.2 Flask單元測試
15.3溫故知新
15.4習題
第16章網站部署
16.1服務器部署
16.1.1 Gunicorn的安裝配置及使用
16.1.2 Nginx的安裝及使用
16.1.3安裝MySQL 
16.2網站部署
16.3溫故知新
16.4習題