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

下載本文檔

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

文檔簡介

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

Flask的使用

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

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

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

"admin":{

"userid":"1",

"sex":"男",

"age":"28",

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

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

},

"user":{

"userid":"2",

"sex":"女",

"age":"20",

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

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

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

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

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

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

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論