《數(shù)據(jù)可視化技術(shù)》 課件 15 學(xué)生管理基礎(chǔ)網(wǎng)頁(yè)制作、16 招生數(shù)據(jù)增刪改查操作_第1頁(yè)
《數(shù)據(jù)可視化技術(shù)》 課件 15 學(xué)生管理基礎(chǔ)網(wǎng)頁(yè)制作、16 招生數(shù)據(jù)增刪改查操作_第2頁(yè)
《數(shù)據(jù)可視化技術(shù)》 課件 15 學(xué)生管理基礎(chǔ)網(wǎng)頁(yè)制作、16 招生數(shù)據(jù)增刪改查操作_第3頁(yè)
《數(shù)據(jù)可視化技術(shù)》 課件 15 學(xué)生管理基礎(chǔ)網(wǎng)頁(yè)制作、16 招生數(shù)據(jù)增刪改查操作_第4頁(yè)
《數(shù)據(jù)可視化技術(shù)》 課件 15 學(xué)生管理基礎(chǔ)網(wǎng)頁(yè)制作、16 招生數(shù)據(jù)增刪改查操作_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《數(shù)據(jù)可視化技術(shù)》單元15學(xué)生管理基礎(chǔ)網(wǎng)頁(yè)制作項(xiàng)目介紹項(xiàng)目四:高校招生就業(yè)數(shù)據(jù)分析與可視化本項(xiàng)目采集了某高職院校的招生、就業(yè)數(shù)據(jù)。高職院校通過(guò)對(duì)招生數(shù)據(jù)的分析,了解不同專(zhuān)業(yè)的招生情況、招生分布、招生難易度等信息,從而更好地制訂招生計(jì)劃,提高招生效率。高職院校通過(guò)對(duì)歷年畢業(yè)生就業(yè)數(shù)據(jù)的分析,了解不同專(zhuān)業(yè)的就業(yè)情況、就業(yè)分布、就業(yè)難易度等信息,從而更好地調(diào)整專(zhuān)業(yè)設(shè)置、優(yōu)化課程設(shè)置,提高畢業(yè)生就業(yè)率01準(zhǔn)備活動(dòng)點(diǎn)名、復(fù)習(xí)本次課學(xué)習(xí)內(nèi)容、學(xué)習(xí)目標(biāo)介紹學(xué)習(xí)內(nèi)容任務(wù)一:使用Flask制作學(xué)生管理基礎(chǔ)網(wǎng)頁(yè)現(xiàn)在需要使用Python開(kāi)發(fā)一個(gè)簡(jiǎn)單的學(xué)生管理網(wǎng)站,當(dāng)使用瀏覽器訪問(wèn)網(wǎng)站的根“/”時(shí)指向index.html主頁(yè),當(dāng)訪問(wèn)“/register”時(shí)指向register.html,當(dāng)訪問(wèn)“/manage”時(shí)指向manage.html。當(dāng)使用瀏覽器訪問(wèn)“/login?name=admin”時(shí),頁(yè)面對(duì)name為admin的所有數(shù)據(jù)(用戶ID、性別、年齡、簽名、興趣)進(jìn)行對(duì)應(yīng)渲染。當(dāng)我們使用瀏覽器訪問(wèn)“/index?name=user”時(shí),頁(yè)面對(duì)name為user的所有數(shù)據(jù)(用戶ID、性別、年齡、簽名、興趣)進(jìn)行對(duì)應(yīng)渲染任務(wù)1、Flask開(kāi)發(fā)環(huán)境的安裝和使用任務(wù)2、使用Flask的路由功能任務(wù)3、使用Flask模板渲染學(xué)習(xí)目標(biāo)1、知識(shí)(1)了解Flask作用(2)掌握Flask的安裝運(yùn)行(3)理解Flask路由功能(4)掌握Flask模板渲染2、技能(1)能夠搭建Flask開(kāi)發(fā)環(huán)境(2)能夠使用Flask路由功能(3)能夠使用Flask進(jìn)行模板渲染3、素養(yǎng)(1)嚴(yán)謹(jǐn)認(rèn)真、代碼規(guī)范;(2)數(shù)據(jù)安全、愛(ài)國(guó)精神;(3)信息檢索能力02發(fā)展活動(dòng)任務(wù)分析、任務(wù)資訊、演示講解、任務(wù)實(shí)施學(xué)習(xí)內(nèi)容1、教師講解

Flask的使用

Flask路由、模板渲染2、學(xué)生討論(1)Flask功能有哪些?(2)什么是路由?3、明確任務(wù)(1)Flask開(kāi)發(fā)環(huán)境的安裝和基本使用(2)使用Flask的路由功能(3)使用Flask模板渲染任務(wù)資訊1、Flask開(kāi)發(fā)環(huán)境的安裝和使用Flask是一個(gè)基于Python開(kāi)發(fā)并且依賴(lài)jinja2模板和WerkzeugWSGI服務(wù)的一個(gè)微型框架。其用于接收http請(qǐng)求并對(duì)請(qǐng)求進(jìn)行預(yù)處理,然后觸發(fā)Flask框架。(1)Flask安裝安裝Flask的命令:pipinstallflask如果想指定Flask的版本,那么就要使用以下命令:pipinstallflask==版本如果想升級(jí)Flask的版本,那么可以使用以下命令:pipinstall--upgradeflask==版本任務(wù)資訊(2)Flask的簡(jiǎn)單使用新建一個(gè)Python腳本,命名為app1.py

打開(kāi)瀏覽器,在地址欄輸入:5000/index訪問(wèn),可以看到“Hello,World!”字符任務(wù)資訊2、使用Flask的路由功能Flask路由就是對(duì)一個(gè)函數(shù)的映射,F(xiàn)lask的變量規(guī)則就是在路由URL中的一部分使用一個(gè)變量代替。(1)使用Flask的變量規(guī)則定制相應(yīng)的路由新建一個(gè)Python腳本app2.py可以分別訪問(wèn):8080/userByName/tom、:8080/userById/1驗(yàn)證效果。任務(wù)資訊(2)使用Flask的URL構(gòu)建完成相應(yīng)路由的編寫(xiě)Flask的URL構(gòu)建就是使用url_for()函數(shù)動(dòng)態(tài)獲取路由中配置的URL,redirect可以實(shí)現(xiàn)網(wǎng)頁(yè)重定向:redirect(url)redirect(url_for("admin"))練一練

任務(wù)要求:定義一個(gè)這樣的路由,當(dāng)我們?cè)L問(wèn)/admin時(shí),瀏覽器顯示管理員:Admin;定義一個(gè)這樣的路由,當(dāng)我們?cè)L問(wèn)/guest/alice時(shí),瀏覽器顯示游客:alice;當(dāng)我們?cè)L問(wèn)/guest/iris時(shí),瀏覽器顯示游客:iris;定義一個(gè)這樣的路由,當(dāng)我們?cè)L問(wèn)/user/admin時(shí),頁(yè)面重定向到/admin;當(dāng)我們?cè)L問(wèn)/user/xxx,頁(yè)面重定向到/guest/xxx(這里xxx表示任意字符串)。任務(wù)資訊任務(wù)資訊3、Flask模板渲染(1)編寫(xiě)一個(gè)獲取GET請(qǐng)求中的參數(shù)并完成個(gè)人信息的數(shù)據(jù)渲染搭建一個(gè)基本的Flask骨架,目錄結(jié)構(gòu)如下:static目錄:存放靜態(tài)資源文件,例如:CSS、JS、圖片、map3….等等;templates目錄:存放jinja2模板頁(yè)面,也就是HTML;app.py:Flask啟動(dòng)程序任務(wù)資訊flask模板渲染示例1、目錄2、test.html3、test.py任務(wù)實(shí)施本任務(wù)主要分成兩部分進(jìn)行開(kāi)發(fā):一部分是Flask后端程序,實(shí)現(xiàn)路由跳轉(zhuǎn)和數(shù)據(jù)發(fā)送的功能;另一部分是前端的網(wǎng)頁(yè)制作。任務(wù)實(shí)施map={

"admin":{

"userid":"1",

"sex":"男",

"age":"28",

"introduce":"生命不止,奮斗不息",

"power":"我是管理員,可以管理所有頁(yè)面。"

},

"user":{

"userid":"2",

"sex":"女",

"age":"20",

"introduce":"相信自己,一定能成功",

"power":"我是普通用戶,可以查閱信息和留言。"

}}任務(wù)實(shí)施本任務(wù)主要分成兩部分進(jìn)行開(kāi)發(fā):一部分是Flask后端程序,實(shí)現(xiàn)路由跳轉(zhuǎn)和數(shù)據(jù)發(fā)送的功能;另一部分是前端的網(wǎng)頁(yè)制作。1、編寫(xiě)后端程序后端程序大概包括如下步驟:

1)導(dǎo)入相關(guān)包和依賴(lài)2)配置路由,實(shí)現(xiàn)不同頁(yè)面的跳轉(zhuǎn)3)創(chuàng)建用戶字典數(shù)據(jù)

4)獲取網(wǎng)址參數(shù)并取得變量,得到用戶數(shù)據(jù),在通過(guò)模板渲染跳轉(zhuǎn)頁(yè)面時(shí)攜帶參數(shù)到前端網(wǎng)頁(yè)中去

5)創(chuàng)建啟動(dòng)代碼。2、編寫(xiě)前端網(wǎng)頁(yè)前端網(wǎng)頁(yè)包括4個(gè)頁(yè)面任務(wù)實(shí)施3.驗(yàn)證1)通過(guò)瀏覽器直接訪問(wèn)站點(diǎn):5000/,顯示學(xué)生管理者頁(yè)2)通過(guò)瀏覽器訪問(wèn):5000/register,顯示注冊(cè)頁(yè)面3)通過(guò)瀏覽器訪問(wèn):5000/manage,顯示管理頁(yè)面4)通過(guò)瀏覽器訪問(wèn):5000/login?name=admin,顯示管理員賬戶信息5)通過(guò)瀏覽器訪問(wèn):5000/login?name=user,顯示普通用戶賬戶信息03整合活動(dòng)總結(jié)、知識(shí)點(diǎn)梳理學(xué)習(xí)總結(jié)拓展任務(wù)使用Jinja2完成表格的數(shù)據(jù)渲染任務(wù)要求:定義一個(gè)這樣的路由,當(dāng)我們?cè)L問(wèn)/index時(shí),瀏覽器顯示List中遍歷的數(shù)據(jù),渲染模板為index2.html。Python中List的內(nèi)容如下:app=Flask(__name__)List=[{"name":"alice","time":"2019-10-18",},{"name":"iris","time":"2019-10-18",},拓展任務(wù){(diào)"name":"Violet","time":"2019-10-18",}]通過(guò)Flask將List數(shù)據(jù)渲染到網(wǎng)頁(yè)中,并通過(guò)表格顯示出來(lái),預(yù)期效果圖,如下:訪問(wèn)方法:5000/index《數(shù)據(jù)可視化技術(shù)》單元16招生數(shù)據(jù)增刪改查操作01準(zhǔn)備活動(dòng)點(diǎn)名、復(fù)習(xí)本次課學(xué)習(xí)內(nèi)容、學(xué)習(xí)目標(biāo)介紹學(xué)習(xí)內(nèi)容任務(wù):招生數(shù)據(jù)增刪改查:為了方便查詢(xún)學(xué)校各二級(jí)學(xué)院歷年招生數(shù)據(jù),需要將招生數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中。二級(jí)學(xué)院包括機(jī)械學(xué)院、電氣學(xué)院、汽車(chē)學(xué)院、信息學(xué)院、經(jīng)貿(mào)學(xué)院,需要存儲(chǔ)它們的數(shù)據(jù)到MySQL數(shù)據(jù)庫(kù)中,并使用Flask實(shí)現(xiàn)查詢(xún)、新增、刪除、修改等操作,實(shí)現(xiàn)招生數(shù)據(jù)的對(duì)比和管理本單元學(xué)習(xí)Flask操作數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改查操作。任務(wù)1、Flask獲取請(qǐng)求對(duì)象參數(shù)任務(wù)2、使用Flask創(chuàng)建表映射任務(wù)3、使用Flask對(duì)數(shù)據(jù)添刪改查學(xué)習(xí)目標(biāo)1、知識(shí)(1)了解Flask獲取請(qǐng)求參數(shù)的方法(2)掌握Flask創(chuàng)建表模型的方法(3)掌握Flask對(duì)數(shù)據(jù)庫(kù)增刪改查2、技能(1)能夠使用Flask獲取請(qǐng)求對(duì)象參數(shù)(2)能夠使用Flask創(chuàng)建表映射(3)能夠使用Flask對(duì)數(shù)據(jù)添刪改查3、素養(yǎng)(1)嚴(yán)謹(jǐn)認(rèn)真、代碼規(guī)范;(2)數(shù)據(jù)安全、愛(ài)國(guó)精神;(3)信息檢索能力02發(fā)展活動(dòng)任務(wù)分析、任務(wù)資訊、演示講解、任務(wù)實(shí)施任務(wù)實(shí)施1、教師講解

Flask連接MySQL數(shù)據(jù)庫(kù)、創(chuàng)建表映射

Flask操縱數(shù)據(jù)庫(kù)2、學(xué)生討論(1)Flask怎樣連接MySQL?(2)什么是FlaskSQLAlchemy的表映射?3、明確任務(wù)(1)Flask獲取請(qǐng)求對(duì)象參數(shù)(2)使用Flask創(chuàng)建表映射(3)使用Flask對(duì)數(shù)據(jù)添刪改查任務(wù)資訊1、FlaskSQLAlchemy數(shù)據(jù)庫(kù)是按照一定規(guī)則保存程序數(shù)據(jù),程序再發(fā)起查詢(xún)?nèi)』厮璧臄?shù)據(jù),Web程序最常用基于關(guān)系模型的數(shù)據(jù)庫(kù),這種數(shù)據(jù)庫(kù)也稱(chēng)為SQL數(shù)據(jù)庫(kù)(關(guān)系型數(shù)據(jù)庫(kù)),關(guān)系型數(shù)據(jù)庫(kù)把數(shù)據(jù)存儲(chǔ)在表中,表模擬程序中不同的實(shí)體。如下所示:表的列數(shù)是固定的,行數(shù)是可變的,列定義表所示的實(shí)體的數(shù)據(jù)屬性。表中的行定義各列對(duì)應(yīng)的真實(shí)數(shù)據(jù)。ORM全稱(chēng)ObjectRelationalMapping,中文意為對(duì)象-關(guān)系映射。其實(shí)它就是模型對(duì)象的概念把數(shù)據(jù)庫(kù)的信息映射稱(chēng)一個(gè)個(gè)對(duì)象來(lái)操作。而不需要寫(xiě)SQL語(yǔ)句,簡(jiǎn)單來(lái)說(shuō)就是面向?qū)ο缶幊?。IDUserEmailPassword1張三zhangsan@163.com1234562李四lisi@163.com654321任務(wù)資訊2、Flask操作數(shù)據(jù)庫(kù)Flask中的SQLAlchemy就是一個(gè)ORM框架,它依賴(lài)于pymysql,使用關(guān)系對(duì)象映射對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。Flask操作數(shù)據(jù)庫(kù)主要步驟如下:安裝依賴(lài)庫(kù)。當(dāng)我們使用Flask進(jìn)行數(shù)據(jù)開(kāi)發(fā)時(shí),需要安裝一些相應(yīng)的依賴(lài)庫(kù)mysqlclient、flask_sqlalchemy、pymysql連接數(shù)據(jù)庫(kù)創(chuàng)建模型與表的映射數(shù)據(jù)庫(kù)的增刪改查等操作任務(wù)資訊(1)Flask連接數(shù)據(jù)庫(kù)任務(wù)資訊(2)創(chuàng)建模型類(lèi),關(guān)聯(lián)數(shù)據(jù)庫(kù)中的表如要關(guān)聯(lián)數(shù)據(jù)庫(kù)中的users表db.Model:創(chuàng)建模型db.Column:創(chuàng)建模型屬性可進(jìn)入MySQL中“flask_table”數(shù)據(jù)庫(kù),查看是否存在“users”表先使用SQLAlchemy加載app并創(chuàng)建db實(shí)例,再創(chuàng)建模型類(lèi),關(guān)聯(lián)數(shù)據(jù)庫(kù)中的表users,id、name、email、pswd、role_id分別對(duì)應(yīng)users表的字段,db.Column表示列名,db.Integer表示該字段為整型數(shù)據(jù),db.String表示該字段為字符串?dāng)?shù)據(jù)。這些字段需要設(shè)置一個(gè)主鍵。任務(wù)資訊(3)增、刪、改、查參考網(wǎng)址:/Mixtea/p/10678594.html在Flask-SQLAlchemy中,插入、修改、刪除操作,均由數(shù)據(jù)庫(kù)會(huì)話管理。*會(huì)話用db.session表示。在準(zhǔn)備把數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)前,要先將數(shù)據(jù)添加到會(huì)話中然后調(diào)用commit()方法提交會(huì)話。db.session.add(role):添加到數(shù)據(jù)庫(kù)的session中db.session.add_all([role1,role2]):添加多個(gè)信息到session中mit():提交數(shù)據(jù)庫(kù)的修改(包括增、改、刪)db.session.rollback():數(shù)據(jù)庫(kù)的回滾操作db.session.delete():刪除數(shù)據(jù)庫(kù)任務(wù)資訊(3)創(chuàng)建/刪除表創(chuàng)建表需要先創(chuàng)建表模型類(lèi),再執(zhí)行db.create_all()命令,表示創(chuàng)建模型類(lèi)對(duì)應(yīng)的表。可以在執(zhí)行創(chuàng)建表命令之前,使用db.drop_all()刪除所有的表。任務(wù)資訊(4)插入數(shù)據(jù)要插入一條數(shù)據(jù),可用模型類(lèi)User創(chuàng)建實(shí)例(對(duì)應(yīng)一條記錄),加載列屬性,再將該實(shí)例加入session事務(wù),執(zhí)行該事務(wù),代碼如下:要一次插入多條數(shù)據(jù),則可先創(chuàng)建多個(gè)實(shí)例,再添加所有實(shí)例到session事務(wù),執(zhí)行該事務(wù),代碼如下:任務(wù)資訊(5)查詢(xún)數(shù)據(jù)通過(guò)模型類(lèi)的query方法可以實(shí)現(xiàn)數(shù)據(jù)查詢(xún)。1)filter_by精確查詢(xún)。如要查詢(xún)名稱(chēng)為chen的所有記錄信息,代碼如下:User.query.filter_by(name='chen').all()其中all()返回查詢(xún)到的所有對(duì)象,可以使用first()返回查詢(xún)到的第一個(gè)對(duì)象。2)filter模糊查詢(xún)。如要返回名字結(jié)尾字符為n的所有數(shù)據(jù),代碼如下:User.query.filter(U.endswith('n')).all()3)get()查詢(xún)。通過(guò)get(),將其參數(shù)設(shè)置為主鍵,可以得到主鍵對(duì)應(yīng)的記錄。如果主鍵不存在,則沒(méi)有返回內(nèi)容。User.query.get(1)可以查詢(xún)主鍵值為1的記錄。任務(wù)資訊(5)查詢(xún)數(shù)據(jù)通過(guò)模型類(lèi)的query方法可以實(shí)現(xiàn)數(shù)據(jù)查詢(xún)。4)邏輯條件查詢(xún)。①使用邏輯非條件查詢(xún),返回名字不等于“zhou”的所有數(shù)據(jù),代碼如下:User.query.filter(U!='zhou').all()②使用邏輯與條件查詢(xún),需要導(dǎo)入and_依賴(lài),返回and()條件滿足的所有數(shù)據(jù),代碼如下:fromsqlalchemyimportand_User.query.filter(and_(U!='chen',User.email.endswith('163.com'))).all()③使用邏輯或條件查詢(xún),需要導(dǎo)入or_依賴(lài),返回or()條件滿足其一的所有數(shù)據(jù),代碼如下:fromsqlalchemyimportor_User.query.filter(or_(U!='chen',User.email.endswith('163.com'))).all(任務(wù)資訊(6)刪除數(shù)據(jù)

一般會(huì)結(jié)合條件查詢(xún)進(jìn)行數(shù)據(jù)刪除。如要?jiǎng)h除User表的第一條數(shù)據(jù),可執(zhí)行下面命令:user=User.query.first()db.session.delete(user)mit()最后可以使用User.query.all()查詢(xún)所有數(shù)據(jù),檢驗(yàn)是否刪除了第一條記錄。任務(wù)資訊(7)更新數(shù)據(jù)更新數(shù)據(jù)一般也會(huì)結(jié)合條件進(jìn)行更新。如要將第一條記錄的姓名修改為“

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論