FlaskWeb開發:基於Python的Web應用開發實戰

来源:https://www.cnblogs.com/fuchen9527/archive/2019/04/16/10720187.html
-Advertisement-
Play Games

所屬網站分類: 資源下載 > python電子書 作者:熊貓燒香 鏈接:http://www.pythonheidong.com/blog/article/63/ 來源:python黑洞網,專註Python資源,Python教程,Python技術 這大概是入門Flask最最經典的教材了。可是我依然看 ...


所屬網站分類: 資源下載 > python電子書


作者:熊貓燒香

鏈接:http://www.pythonheidong.com/blog/article/63/

來源:python黑洞網,專註Python資源,Python教程,Python技術

 

這大概是入門Flask最最經典的教材了。可是我依然看得很吃力,我的自控力啊啊~到哪裡去了

講的挺全面挺系統 有的地方需要硬肯 不過好在指明瞭方向 比較貼近現在流行的開發模式 這兩天寫了一個小博客應用 希望能從這個起點開始 早日完成我心目中的線上數據分析系統 數據採集存儲分析展現一條龍 要補的知識還很多 再一次感嘆R的執行效率 難道R還是只適合做原型開發演算法研究嘛 應用到生產環境做數據產品還是要靠python

 

內容簡介

本書不僅適合初級Web開發人員學習閱讀,更是Python程式員用來學習高級Web開發技術的優秀參考書。

• 學習Flask應用的基本結構,編寫示例應用;

• 使用必備的組件,包括模板、資料庫、Web表單和電子郵件支持;

• 使用包和模塊構建可伸縮的大型應用;

• 實現用戶認證、角色和個人資料;

• 在博客網站中重用模板、分頁顯示列表以及使用富文本;

• 使用基於Flask的REST式API,在智能手機、平板電腦和其他第三方客戶端上實現可用功能;

• 學習運行單元測試以及提升性能;

• 將Web應用部署到生產伺服器。

目錄

前言  XI
第一部分 Flask簡介
第1章 安裝  3
1.1 使用虛擬環境  4
1.2 使用pip安裝Python包  6
第2章 程式的基本結構  7
2.1 初始化  7
2.2 路由和視圖函數  7
2.3 啟動伺服器  9
2.4 一個完整的程式  9
2.5 請求-響應迴圈  11
2.5.1 程式和請求上下文  11
2.5.2 請求調度  13
2.5.3 請求鉤子  13
2.5.4 響應  14
2.6 Flask擴展  15
第3章 模板  19
3.1 Jinja2模板引擎  19
3.1.1 渲染模板  20
3.1.2 變數  21
3.1.3 控制結構  22
3.2 使用Flask-Bootstrap集成Twitter Bootstrap  23
3.3 自定義錯誤頁面  26
3.4 鏈接  29
3.5 靜態文件  29
3.6 使用Flask-Moment本地化日期和時間  30
第4章 Web表單  33
4.1 跨站請求偽造保護  33
4.2 表單類  34
4.3 把表單渲染成HTML  35
4.4 在視圖函數中處理表單  37
4.5 重定向和用戶會話  39
4.6 Flash消息  41
第5章 資料庫  43
5.1 SQL資料庫  43
5.2 NoSQL資料庫  44
5.3 使用SQL還是NoSQL  45
5.4 Python資料庫框架  45
5.5 使用Flask-SQLAlchemy管理資料庫  46
5.6 定義模型  47
5.7 關係  49
5.8 資料庫操作  50
5.8.1 創建表  50
5.8.2 插入行  51
5.8.3 修改行  52
5.8.4 刪除行  52
5.8.5 查詢行  52
5.9 在視圖函數中操作資料庫  54
5.10 集成Python shell  56
5.11 使用Flask-Migrate實現資料庫遷移  56
5.11.1 創建遷移倉庫  57
5.11.2 創建遷移腳本  57
5.11.3 更新資料庫  58
第6章 電子郵件  59
使用Flask-Mail提供電子郵件支持  59
在Python shell中發送電子郵件  60
在程式中集成發送電子郵件功能  61
非同步發送電子郵件  62
第7章 大型程式的結構  65
7.1 項目結構  65
7.2 配置選項  66
7.3 程式包  67
7.3.1 使用程式工廠函數  68
7.3.2 在藍本中實現程式功能  69
7.4 啟動腳本  71
7.5 需求文件  71
7.6 單元測試  72
7.7 創建資料庫  74
第二部分 實例:社交博客程式
第8章 用戶認證  77
8.1 Flask的認證擴展  77
8.2 密碼安全性  77
8.3 創建認證藍本  80
8.4 使用Flask-Login認證用戶  81
8.4.1 準備用於登錄的用戶模型  81
8.4.2 保護路由  83
8.4.3 添加登錄表單  83
8.4.4 登入用戶  84
8.4.5 登出用戶  86
8.4.6 測試登錄  86
8.5 註冊新用戶  87
8.5.1 添加用戶註冊表單  87
8.5.2 註冊新用戶  89
8.6 確認賬戶  90
8.6.1 使用itsdangerous生成確認令牌  90
8.6.2 發送確認郵件  92
8.7 管理賬戶  95
第9章 用戶角色  97
9.1 角色在資料庫中的表示  97
9.2 賦予角色  99
9.3 角色驗證  100
第10章 用戶資料  103
10.1 資料信息  103
10.2 用戶資料頁面  104
10.3 資料編輯器  106
10.3.1 用戶級別的資料編輯器   106
10.3.2 管理員級別的資料編輯器  108
10.4 用戶頭像  110
第11章 博客文章  115
11.1 提交和顯示博客文章  115
11.2 在資料頁中顯示博客文章  118
11.3 分頁顯示長博客文章列表  118
11.3.1 創建虛擬博客文章數據  119
11.3.2 在頁面中渲染數據  120
11.3.3 添加分頁導航  121
11.4 使用Markdown和Flask-PageDown支持富文本文章  124
11.4.1 使用Flask-PageDown  124
11.4.2 在伺服器上處理富文本  125
11.5 博客文章的固定鏈接  127
11.6 博客文章編輯器  128
第12章 關註者  131
12.1 再論資料庫關係  131
12.1.1 多對多關係  131
12.1.2 自引用關係  133
12.1.3 高級多對多關係  134
12.2 在資料頁中顯示關註者  136
12.3 使用資料庫聯結查詢所關註用戶的文章  138
12.4 在首頁顯示所關註用戶的文章  141
第13章 用戶評論  145
13.1 評論在資料庫中的表示  145
13.2 提交和顯示評論  146
13.3 管理評論  149
第14章 應用編程介面  153
14.1 REST簡介  153
14.1.1 資源就是一切  154
14.1.2 請求方法  154
14.1.3 請求和響應主體  155
14.1.4 版本  156
14.2 使用Flask提供REST Web服務  156
14.2.1 創建API藍本  157
14.2.2 錯誤處理  157
14.2.3 使用Flask-HTTPAuth認證用戶  159
14.2.4 基於令牌的認證  161
14.2.5 資源和JSON的序列化轉換  162
14.2.6 實現資源端點  165
14.2.7 分頁大型資源集合  167
14.2.8 使用HTTPie測試Web服務  168
第三部分 成功在望
第15章 測試  173
15.1 獲取代碼覆蓋報告  173
15.2 Flask測試客戶端  176
15.2.1 測試Web程式  176
15.2.2 測試Web服務  179
15.3 使用Selenium進行端到端測試  180
15.4 值得測試嗎  184
第16章 性能  185
16.1 記錄影響性能的緩慢資料庫查詢  185
16.2 分析源碼  187
第17章 部署  189
17.1 部署流程  189
17.2 把生產環境中的錯誤寫入日誌  190
17.3 雲部署  191
17.4 Heroku平臺  191
17.4.1 準備程式  192
17.4.2 使用Foreman進行測試  196
17.4.3 使用Flask-SSLify啟用安全HTTP  197
17.4.4 執行git push命令部署  198
17.4.5 查看日誌  199
17.4.6 部署一次升級  199
17.5 傳統的托管  200
17.5.1 架設伺服器  200
17.5.2 導入環境變數  200
17.5.3 配置日誌  201
第18章 其他資源  203
18.1 使用集成開發環境  203
18.2 查找Flask擴展  204
18.3 參與Flask開發  204
關於封面圖  205

 




 
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、概述 當我們打開一個SqlSession的時候,我們就完成了操作資料庫的第一步,那MyBatis是如何執行Sql的呢?其實MyBatis的增刪改查都是通過Executor執行的,Executor和SqlSession綁定在一起,由Configuration類的newExecutor方法創建。 二 ...
  • 在很多時候,我們代碼中會有很多分支,而且分支下麵的代碼又有一些複雜的邏輯,相信很多人都喜歡用 if-else/switch-case 去實現。做的不好的會直接把實現的代碼放在 if-else/switch-case 的分支之下: 這樣的代碼不僅冗長,讀起來也非常困難。做的好一點的會把這些邏輯封裝成函 ...
  • 本文首發於公眾號:javaadu 簡單介紹 構建高性能的Java應用過程中,必然會遇到各種各樣的問題,像CPU飆高、記憶體泄漏、應用奔潰,以及其他疑難雜症,這時可以使用Serviceability Agent(SA)。SA是JDK提供的一個強大的調試工具集,適用於語言層和虛擬機層,支持調試運行著的Ja ...
  • 前幾天,有個同事在使用JPA的自定義SQL方法時,程式一直報異常,搗鼓了半天也沒能解決,咨詢我的時候,我看了一眼他的程式,差不多是這個樣子的: 我告訴他,你的deleteUserById方法缺少了@Modifying註解和@Transactional註解,他半信半疑地試了一下,然後果然就解決了。其實 ...
  • Python3 基本數據類型 Python 中的變數不需要聲明。每個變數在使用前都必須賦值,變數賦值以後該變數才會被創建。 在 Python 中,變數就是變數,它沒有類型,我們所說的"類型"是變數所指的記憶體中對象的類型。 等號(=)用來給變數賦值。 等號(=)運算符左邊是一個變數名,等號(=)運算符 ...
  • 1.數組的定義: 數組(Array)是相同數據類型的數據的有序集合。 2.數組的3個特點: 2.1數組長度是確定。數組一旦申請完空間,長度不能發生變化,用length屬性訪問。 2.2數組的元素都是同一數據類型。 2.3數組是有序的 。每個元素通過下標/索引標記,索引從0開始。 3.數組的3種聲明方 ...
  • 異常信息:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC dri ...
  • 類的生命周期 包括以下 7 個階段: 載入(Loading) 驗證(Verification) 準備(Preparation) 解析(Resolution) 初始化(Initialization) 使用(Using) 卸載(Unloading) 其中解析過程在某些情況下可以在初始化階段之後再開始,這 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...