書名: Flask Web應(yīng)用開發(fā)項(xiàng)目實(shí)戰(zhàn):基于Python和統(tǒng)信UOS作者名: 木合塔爾·沙地克本章字?jǐn)?shù): 1479字更新時(shí)間: 2024-04-22 11:36:01
前言
Flask是目前十分流行的、輕量級的可定制Web框架,較其他同類型框架更為靈活、輕便、安全且容易上手,能夠很好地結(jié)合MVC模式進(jìn)行開發(fā)。程序員可以使用Python語言快速實(shí)現(xiàn)一個(gè)網(wǎng)站或Web服務(wù);通過分工合作,小型團(tuán)隊(duì)在短時(shí)間內(nèi)就可以實(shí)現(xiàn)功能豐富的中小型網(wǎng)站或Web服務(wù)。Flask主要包括Werkzeug和Jinja2兩個(gè)核心函數(shù)庫,它們分別用于實(shí)現(xiàn)業(yè)務(wù)處理和安全方面的功能,為Web項(xiàng)目開發(fā)提供了豐富的基礎(chǔ)組件,從而可以實(shí)現(xiàn)個(gè)性化的網(wǎng)站定制。
隨著統(tǒng)信UOS操作系統(tǒng)的不斷發(fā)展,電子辦公、教育、金融等領(lǐng)域開始使用統(tǒng)信UOS,不難預(yù)測,基于國產(chǎn)操作系統(tǒng)的應(yīng)用開發(fā)即將成為大趨勢。目前在國產(chǎn)平臺(tái)上進(jìn)行Web應(yīng)用開發(fā)的相關(guān)資料非常少,雖然在網(wǎng)上可以找到一些相關(guān)文章,但只是閱讀這些零零散散的文章,初學(xué)者想要在國產(chǎn)操作系統(tǒng)上開發(fā)一個(gè)完整的Web應(yīng)用仍然有一定的難度。為了彌補(bǔ)這一缺陷,本書通過一個(gè)完整的項(xiàng)目開發(fā)案例(是學(xué)習(xí)編程的最好方法之一),系統(tǒng)地介紹在統(tǒng)信UOS上開發(fā)Flask Web應(yīng)用的相關(guān)知識(shí)。
本書的特點(diǎn):一是完全在國產(chǎn)統(tǒng)信UOS上開發(fā)、部署應(yīng)用;二是以完整的項(xiàng)目為例,系統(tǒng)地介紹Flask Web編程;三是用“Pythonic代碼揭秘[1]”模塊對具有Python特性的代碼給出簡單、易懂的同等代碼解釋;四是詳細(xì)介紹MySQL、MariaDB數(shù)據(jù)庫服務(wù)器在Windows、CentOS和UOS Server上的安裝、配置和遠(yuǎn)程連接;五是雖然書中所有代碼都在統(tǒng)信UOS上開發(fā)、調(diào)試、部署,但其在Windows、macOS和Linux系統(tǒng)上均可以調(diào)試、部署、運(yùn)行。本書所涉及的相關(guān)內(nèi)容有統(tǒng)信UOS、Windows、CentOS、SQLite、MySQL、MariaDB、Tornado、Gunicorn、Python、Flask、HTML、CSS、jQuery、Bootstrap等知識(shí)。
[1] Python最迷人的特性之一是“一致性”,這種一致性的代碼就稱為Pythonic風(fēng)格的代碼。Pythonic追求的是充分利用Python語言的特性來產(chǎn)生清晰、簡潔和可維護(hù)的代碼。Pythonic代碼不僅追求獲得正確的語法,而且遵循Python社區(qū)的約定。雖然Pythonic代碼是習(xí)慣,而不是硬規(guī)則,但如果想成為“Python高手”,最好養(yǎng)成這個(gè)習(xí)慣。
本書不是從零開始講解Python語法,而是圍繞實(shí)際項(xiàng)目講解Flask Web應(yīng)用開發(fā)所需的知識(shí),并對書中的代碼進(jìn)行了詳細(xì)解釋,不僅適合有一定編程基礎(chǔ)的讀者參考,也適合初學(xué)者參考。同時(shí)為了讓初學(xué)者易于上手,項(xiàng)目采用結(jié)構(gòu)簡潔、流程直接的單文件編程方式開發(fā),并確保各個(gè)功能模塊能夠獨(dú)立運(yùn)行,讀者可以按需選擇性參考相關(guān)章節(jié),不必從頭到尾閱讀。
本書共8章,另有若干附錄。第1章主要介紹項(xiàng)目功能和本書涉及的知識(shí)點(diǎn);第2章主要講解Flask開發(fā)環(huán)境的搭建和開發(fā)工具的安裝;第3章講解創(chuàng)建Web應(yīng)用、創(chuàng)建數(shù)據(jù)庫和用戶功能的實(shí)現(xiàn),包括用戶注冊、用戶登錄、用戶主頁、密碼修改、發(fā)送郵件等功能的實(shí)現(xiàn);第4章講解管理功能的實(shí)現(xiàn),包括管理員登錄、管理主頁、編輯、審核、刪除用戶、密碼初始化、系統(tǒng)初始化、照片相冊、超級管理員等功能的實(shí)現(xiàn);第5章講解數(shù)據(jù)分析與可視化,包括餅圖、極坐標(biāo)系、柱狀圖、折線圖、散點(diǎn)圖、雷達(dá)圖、K線圖、箱形圖、漏斗圖、詞云圖等常用的交互式動(dòng)態(tài)可視化圖形的實(shí)現(xiàn);第6章講解使用Flask-Admin對后臺(tái)數(shù)據(jù)庫進(jìn)行管理;第7章介紹Tornado和Gunicorn服務(wù)器的搭建;第8章介紹模塊化編程,以模塊化編程方式實(shí)現(xiàn)用戶功能;附錄A介紹數(shù)據(jù)分析與可視化所需模擬數(shù)據(jù)的生成;附錄B介紹在Windows上安裝/配置/連接MySQL數(shù)據(jù)庫服務(wù)器;附錄C介紹在CentOS上安裝/配置/連接MariaDB數(shù)據(jù)庫服務(wù)器;附錄D介紹在UOS Server上安裝/配置/連接MySQL數(shù)據(jù)庫服務(wù)器。
謹(jǐn)以此書獻(xiàn)給我的爸爸,我的爸爸在世時(shí)特別希望在有生之年出一本他自己的書,雖然他沒能實(shí)現(xiàn)自己的愿望就離開了我們,但是我完成了他的遺愿。同時(shí)感謝我的家人的支持,感謝單位為我提供了創(chuàng)作條件,特別感謝趙祥妮老師耐心的指導(dǎo)和幫助,感謝所有支持我的人。
盡管我對本書進(jìn)行了多次核對,但難免存在疏漏。如果您在閱讀中發(fā)現(xiàn)問題,歡迎發(fā)郵件到muhtar_xjedu@163.com。
木合塔爾·沙地克
2023年12月
- pytest框架與自動(dòng)化測試應(yīng)用
- OpenNI體感應(yīng)用開發(fā)實(shí)戰(zhàn)
- ODPS權(quán)威指南 阿里大數(shù)據(jù)平臺(tái)應(yīng)用開發(fā)實(shí)踐
- 學(xué)校沒教的軟件工程課
- 網(wǎng)絡(luò)DevOps平臺(tái)規(guī)劃、設(shè)計(jì)與實(shí)踐:基于企業(yè)架構(gòu)(EA)和領(lǐng)域建模(DDD)的方法
- 敏捷軟件開發(fā):用戶故事實(shí)戰(zhàn)
- 搜索引擎與程序化廣告:原理、設(shè)計(jì)與實(shí)戰(zhàn)
- 深入淺出數(shù)據(jù)結(jié)構(gòu)與算法(微課視頻版)
- 軟件開發(fā)大講堂·從入門到精通-第一輯(套裝共5冊)
- Kubernetes Operator開發(fā)進(jìn)階
- Android性能優(yōu)化入門與實(shí)戰(zhàn)
- Web前端性能優(yōu)化
- 軟件平臺(tái)架構(gòu)設(shè)計(jì)與技術(shù)管理之道
- 深入淺出系統(tǒng)虛擬化:原理與實(shí)踐
- 微信公眾平臺(tái)開發(fā)實(shí)例教程