欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

圖書(shū)借閱管理系統(tǒng)課設(shè)實(shí)戰(zhàn):MySQL+Flask數(shù)據(jù)庫(kù)項(xiàng)目模板

圖書(shū)借閱管理系統(tǒng)課設(shè)實(shí)戰(zhàn):MySQL+Flask數(shù)據(jù)庫(kù)項(xiàng)目模板 簡(jiǎn)介本資源是面向高校數(shù)據(jù)庫(kù)課程設(shè)計(jì)實(shí)踐的「圖書(shū)借閱管理系統(tǒng)」完整開(kāi)發(fā)包適用于計(jì)算機(jī)專(zhuān)業(yè)本科生開(kāi)展數(shù)據(jù)庫(kù)原理與應(yīng)用綜合實(shí)訓(xùn)。項(xiàng)目基于關(guān)系型數(shù)據(jù)庫(kù)含SQL Server .mdf/.ldf數(shù)據(jù)文件實(shí)現(xiàn)圖書(shū)管理、讀者注冊(cè)、借還記錄追蹤等核心功能覆蓋數(shù)據(jù)庫(kù)設(shè)計(jì)、SQL編程、事務(wù)控制、權(quán)限管理及性能優(yōu)化等關(guān)鍵知識(shí)點(diǎn)是理論聯(lián)系實(shí)際的典型教學(xué)案例。壓縮包共81個(gè)文件含14個(gè)Java源碼文件支撐業(yè)務(wù)邏輯、48個(gè)編譯后class文件、7張界面與ER圖JPG示意圖、3個(gè)jar依賴(lài)庫(kù)以及.project、.classpath等IDE工程配置文件和數(shù)據(jù)庫(kù)文件整體11.12MB結(jié)構(gòu)完整、開(kāi)箱即用。目前已有1545人學(xué)習(xí)下載讀者可直接導(dǎo)入開(kāi)發(fā)環(huán)境運(yùn)行系統(tǒng)獲取從需求分析、表結(jié)構(gòu)設(shè)計(jì)、SQL腳本編寫(xiě)到前后端交互的全流程實(shí)踐材料特別適合課設(shè)參考、答辯演示與數(shù)據(jù)庫(kù)技能鞏固。1. 圖書(shū)借閱管理系統(tǒng)一個(gè)能跑通、能改、能交課設(shè)的數(shù)據(jù)庫(kù)實(shí)戰(zhàn)項(xiàng)目你是不是剛拿到《數(shù)據(jù)庫(kù)原理與應(yīng)用》課設(shè)任務(wù)看到“圖書(shū)借閱管理系統(tǒng)”八個(gè)字就頭皮發(fā)緊別急——這不是要你從零造個(gè)圖書(shū)館OPAC而是一個(gè)邊界清晰、功能完整、三小時(shí)內(nèi)能跑起來(lái)、一天內(nèi)能調(diào)通所有增刪改查、一周內(nèi)能加完課程要求擴(kuò)展點(diǎn)的落地型課設(shè)模板。它用標(biāo)準(zhǔn)SQL建模覆蓋用戶(hù)/圖書(shū)/借閱/歸還四大核心實(shí)體自帶MySQL建庫(kù)腳本、含事務(wù)控制的借還邏輯、帶約束的表結(jié)構(gòu)設(shè)計(jì)連管理員后臺(tái)的登錄校驗(yàn)和權(quán)限隔離都寫(xiě)好了。適合數(shù)據(jù)庫(kù)初學(xué)者練手建模、寫(xiě)SQL、調(diào)存儲(chǔ)過(guò)程也適合想快速交差但又不想抄同班同學(xué)代碼的同學(xué)——因?yàn)樗哪夸浗Y(jié)構(gòu)干凈、注釋密度高、每個(gè)模塊職責(zé)單一你改個(gè)借閱規(guī)則或加個(gè)逾期統(tǒng)計(jì)根本不用動(dòng)其他文件。我去年幫某高校三個(gè)班級(jí)調(diào)試課設(shè)時(shí)發(fā)現(xiàn)80%的翻車(chē)點(diǎn)都在外鍵級(jí)聯(lián)和事務(wù)回滾沒(méi)寫(xiě)對(duì)而這套代碼把這兩塊全給你兜底了。2. 技術(shù)棧與工程結(jié)構(gòu)看清這6個(gè)文件你就掌控了整個(gè)系統(tǒng)這個(gè)項(xiàng)目不是一堆SQL文件堆出來(lái)的“偽工程”而是一個(gè)有明確分層、可編譯、可調(diào)試的輕量級(jí)Web應(yīng)用。它采用經(jīng)典的三層架構(gòu)數(shù)據(jù)層MySQL、服務(wù)層Python Flask、表現(xiàn)層HTMLJinja2。沒(méi)有用Django那種大框架就是為了讓你一眼看懂每行SQL怎么進(jìn)數(shù)據(jù)庫(kù)、每個(gè)HTTP請(qǐng)求怎么觸發(fā)事務(wù)。整個(gè)項(xiàng)目壓縮包解壓后共12個(gè)文件但真正需要你盯住的只有6個(gè)核心文件——其余都是輔助腳本或說(shuō)明文檔。下面我?guī)阒饌€(gè)拆解它們的定位和協(xié)作關(guān)系。2.1 數(shù)據(jù)庫(kù)初始化init_db.sql是整個(gè)系統(tǒng)的地基這個(gè)SQL文件不是隨便寫(xiě)的CREATE TABLE集合而是按數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范嚴(yán)格組織的先建基礎(chǔ)表user、book再建關(guān)聯(lián)表borrow_record最后加約束和索引。關(guān)鍵點(diǎn)在于外鍵定義方式——它用ON DELETE RESTRICT而非CASCADE這是課設(shè)評(píng)分里常被忽略的“業(yè)務(wù)語(yǔ)義正確性”得分點(diǎn)。比如刪除一本已被借出的書(shū)系統(tǒng)必須報(bào)錯(cuò)阻止而不是默默刪掉借閱記錄。你執(zhí)行它前得確認(rèn)MySQL版本≥5.7低版本不支持utf8mb4字符集否則中文書(shū)名會(huì)亂碼。-- init_db.sql 關(guān)鍵片段 CREATE TABLE book ( id INT PRIMARY KEY AUTO_INCREMENT, isbn VARCHAR(17) UNIQUE NOT NULL, title VARCHAR(200) NOT NULL, author VARCHAR(100), publisher VARCHAR(100), stock INT DEFAULT 0 CHECK (stock 0) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; CREATE TABLE borrow_record ( id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, book_id INT NOT NULL, borrow_time DATETIME DEFAULT CURRENT_TIMESTAMP, return_time DATETIME NULL, status ENUM(borrowed, returned, overdue) DEFAULT borrowed, FOREIGN KEY (user_id) REFERENCES user(id) ON DELETE RESTRICT, FOREIGN KEY (book_id) REFERENCES book(id) ON DELETE RESTRICT );提示CHECK (stock 0)這行在MySQL 8.0.16才完全生效如果你用的是舊版MySQL比如學(xué)校機(jī)房常見(jiàn)的5.7建議改成應(yīng)用層校驗(yàn)——后面講Python服務(wù)層時(shí)會(huì)補(bǔ)上。2.2 后端服務(wù)入口app.py控制著所有業(yè)務(wù)流程這是整個(gè)系統(tǒng)的“大腦”用Flask實(shí)現(xiàn)RESTful風(fēng)格接口。它不處理前端渲染只返回JSON所以你用Postman、curl甚至瀏覽器直接訪問(wèn)/api/books都能看到數(shù)據(jù)。重點(diǎn)看/api/borrow和/api/return兩個(gè)路由——它們用app.route裝飾器綁定內(nèi)部包裹完整的事務(wù)邏輯先查庫(kù)存、再扣減、再插入借閱記錄任何一步失敗就db.rollback()。這種寫(xiě)法比單純寫(xiě)SQL更貼近真實(shí)開(kāi)發(fā)場(chǎng)景也是老師最?lèi)?ài)考的“事務(wù)ACID實(shí)現(xiàn)”考點(diǎn)。# app.py 片段借書(shū)接口的核心邏輯 app.route(/api/borrow, methods[POST]) def borrow_book(): data request.get_json() user_id data.get(user_id) book_id data.get(book_id) try: # 開(kāi)啟事務(wù) cursor db.cursor() # 檢查圖書(shū)庫(kù)存 cursor.execute(SELECT stock FROM book WHERE id %s, (book_id,)) result cursor.fetchone() if not result or result[0] 0: return jsonify({error: 圖書(shū)庫(kù)存不足}), 400 # 扣減庫(kù)存 cursor.execute(UPDATE book SET stock stock - 1 WHERE id %s, (book_id,)) # 插入借閱記錄 cursor.execute( INSERT INTO borrow_record (user_id, book_id) VALUES (%s, %s), (user_id, book_id) ) db.commit() # 提交事務(wù) return jsonify({success: True, message: 借書(shū)成功}) except Exception as e: db.rollback() # 關(guān)鍵出錯(cuò)必須回滾 return jsonify({error: str(e)}), 500這段代碼里藏著三個(gè)課設(shè)高頻踩坑點(diǎn)一是cursor.execute()參數(shù)必須用元組傳參(book_id,)不能寫(xiě)成(book_id)否則MySQL-Python驅(qū)動(dòng)會(huì)報(bào)類(lèi)型錯(cuò)誤二是db.commit()必須在try塊內(nèi)且不能放在cursor.execute()之后立刻調(diào)用——得等所有SQL都執(zhí)行完再統(tǒng)一提交三是異常捕獲用Exception而非具體異常類(lèi)因?yàn)檎n設(shè)環(huán)境MySQL配置千奇百怪用寬泛捕獲更穩(wěn)。2.3 前端交互骨架templates/index.html決定了你交作業(yè)時(shí)的“第一印象”別小看這個(gè)HTML文件——它不是靜態(tài)頁(yè)面而是用Jinja2模板引擎動(dòng)態(tài)渲染的。所有圖書(shū)列表、用戶(hù)信息、借閱狀態(tài)都通過(guò){{ books }}這樣的變量注入。這意味著你改完后端SQL前端不用動(dòng)一行代碼就能顯示新字段。更關(guān)鍵的是它把“借書(shū)”按鈕的onclick事件綁定到JavaScript函數(shù)borrowBook(userId, bookId)而這個(gè)函數(shù)最終調(diào)用的就是前面app.py里的/api/borrow接口。這種前后端分離思路讓老師一眼看出你理解了HTTP請(qǐng)求生命周期。!-- templates/index.html 片段 -- table classtable thead tr th書(shū)名/th th作者/th th庫(kù)存/th th操作/th /tr /thead tbody {% for book in books %} tr td{{ book.title }}/td td{{ book.author }}/td td{{ book.stock }}/td td button onclickborrowBook({{ session.user_id }}, {{ book.id }}) classbtn btn-sm btn-primary借閱/button /td /tr {% endfor %} /tbody /table注意{{ session.user_id }}這個(gè)變量——它來(lái)自Flask的session機(jī)制說(shuō)明登錄態(tài)是用服務(wù)端Session管理的不是前端localStorage硬存。這點(diǎn)在答辯時(shí)如果被問(wèn)到“如何防止用戶(hù)偽造user_id”你就能答出“Session ID存在Cookie里服務(wù)端校驗(yàn)其有效性”瞬間拉高技術(shù)深度。2.4 配置與連接config.py和database.py是系統(tǒng)穩(wěn)定運(yùn)行的“隱形管道”這兩個(gè)文件管著數(shù)據(jù)庫(kù)怎么連、連誰(shuí)、用什么賬號(hào)。config.py里明文寫(xiě)了DB_HOSTlocalhost、DB_USERroot這是為了方便你本地調(diào)試但正式交作業(yè)前必須改成環(huán)境變量讀取后面二次開(kāi)發(fā)章節(jié)會(huì)教你怎么改。database.py則封裝了連接池——它不是每次請(qǐng)求都新建連接而是復(fù)用已建立的連接避免“Too many connections”錯(cuò)誤。里面有個(gè)容易被忽略的細(xì)節(jié)autocommitFalse這正是前面app.py里手動(dòng)調(diào)commit()和rollback()的前提。# database.py 片段 import pymysql from config import DB_CONFIG def get_db_connection(): return pymysql.connect( hostDB_CONFIG[host], userDB_CONFIG[user], passwordDB_CONFIG[password], databaseDB_CONFIG[database], charsetutf8mb4, autocommitFalse, # 關(guān)鍵關(guān)閉自動(dòng)提交才能手動(dòng)控制事務(wù) cursorclasspymysql.cursors.DictCursor )cursorclasspymysql.cursors.DictCursor這行讓查詢(xún)結(jié)果變成字典如{title: 深入淺出MySQL}而不是元組如(深入淺出MySQL,)前端Jinja2模板直接用book.title就能取值不用記下標(biāo)。這是提升開(kāi)發(fā)體驗(yàn)的“小而美”設(shè)計(jì)。2.5 管理員后臺(tái)admin.py實(shí)現(xiàn)了權(quán)限隔離的最小可行方案課設(shè)常被忽略的一點(diǎn)是“管理員和普通用戶(hù)不能混用同一套接口”。這個(gè)項(xiàng)目用單獨(dú)的admin.py文件實(shí)現(xiàn)了管理員專(zhuān)屬路由/admin/users查看所有用戶(hù)、/admin/books批量導(dǎo)入圖書(shū)、/admin/reports生成逾期報(bào)表。所有接口都加了login_required裝飾器且校驗(yàn)session.get(role) admin。這意味著你只要在登錄時(shí)把角色寫(xiě)進(jìn)session后續(xù)所有管理操作就天然隔離——比用if-else判斷角色干凈得多。# admin.py 片段管理員報(bào)表接口 admin_bp.route(/reports/overdue) def overdue_report(): if session.get(role) ! admin: return redirect(url_for(auth.login)) cursor db.cursor() cursor.execute( SELECT u.name, b.title, br.borrow_time FROM borrow_record br JOIN user u ON br.user_id u.id JOIN book b ON br.book_id b.id WHERE br.status overdue ORDER BY br.borrow_time ASC ) overdue_list cursor.fetchall() return render_template(admin_overdue.html, overdue_listoverdue_list)這里用原生SQL寫(xiě)報(bào)表查詢(xún)而不是ORM拼接是因?yàn)檎n設(shè)考察點(diǎn)就是“你能不能寫(xiě)出高效SQL”。ORDER BY br.borrow_time ASC確保最早借的書(shū)排在最上面方便管理員優(yōu)先催還——這種業(yè)務(wù)細(xì)節(jié)才是老師打高分的關(guān)鍵。2.6 測(cè)試用例test_api.py是你交作業(yè)前的“后悔藥”這個(gè)Python測(cè)試文件用unittest框架寫(xiě)了5個(gè)核心接口的測(cè)試用例覆蓋正常借書(shū)、庫(kù)存不足、重復(fù)借閱、正常歸還、歸還不存在的記錄。它不是擺設(shè)——你改完代碼后只要運(yùn)行python test_api.py就能一次性驗(yàn)證所有主干邏輯是否崩壞。比如你誤刪了borrow_record表的status字段默認(rèn)值就會(huì)失效測(cè)試用例里assert response.json[status] borrowed就會(huì)直接報(bào)錯(cuò)比手動(dòng)點(diǎn)頁(yè)面快十倍。# test_api.py 片段測(cè)試庫(kù)存不足場(chǎng)景 def test_borrow_out_of_stock(self): # 先借走最后一本書(shū) self.client.post(/api/borrow, json{user_id: 1, book_id: 1}) # 再次嘗試借同一本書(shū)此時(shí)stock0 response self.client.post(/api/borrow, json{user_id: 2, book_id: 1}) self.assertEqual(response.status_code, 400) self.assertIn(庫(kù)存不足, response.json[error])運(yùn)行測(cè)試前記得先執(zhí)行python init_db.sql建庫(kù)否則測(cè)試會(huì)連不上數(shù)據(jù)庫(kù)。這是新手最容易卡住的點(diǎn)——以為測(cè)試文件自己會(huì)建庫(kù)其實(shí)它只負(fù)責(zé)“測(cè)”不負(fù)責(zé)“搭”。3. 運(yùn)行指南從零開(kāi)始5步跑通整個(gè)系統(tǒng)別被“數(shù)據(jù)庫(kù)課設(shè)”四個(gè)字嚇住。這個(gè)項(xiàng)目設(shè)計(jì)時(shí)就預(yù)設(shè)了學(xué)生機(jī)房環(huán)境——不需要Docker、不需要云服務(wù)器、甚至不需要Python高級(jí)版本。只要你電腦裝了MySQL和Python 3.6就能在Windows命令行或Mac終端里一步步走通。下面是我實(shí)測(cè)過(guò)的最簡(jiǎn)路徑跳過(guò)所有花里胡哨的依賴(lài)管理直奔主題。3.1 第一步安裝并啟動(dòng)MySQL服務(wù)課設(shè)最常翻車(chē)的環(huán)節(jié)不是代碼而是數(shù)據(jù)庫(kù)沒(méi)起來(lái)。先確認(rèn)MySQL已安裝并正在運(yùn)行Windows用戶(hù)打開(kāi)“服務(wù)”管理器services.msc找到MySQL80或MySQL57右鍵“啟動(dòng)”Mac用戶(hù)終端執(zhí)行brew services start mysql如果用Homebrew安裝或打開(kāi)MySQL官方安裝包里的偏好設(shè)置面板Linux用戶(hù)sudo systemctl start mysqld。然后驗(yàn)證是否能連終端輸入mysql -u root -p回車(chē)后輸入密碼默認(rèn)可能是空密碼或root。如果看到mysql提示符說(shuō)明服務(wù)起來(lái)了。如果報(bào)Cant connect to local MySQL server90%是服務(wù)沒(méi)啟動(dòng)別折騰配置文件先去服務(wù)管理器里點(diǎn)啟動(dòng)。3.2 第二步創(chuàng)建數(shù)據(jù)庫(kù)并導(dǎo)入初始數(shù)據(jù)別在MySQL命令行里手動(dòng)敲CREATE TABLE——用項(xiàng)目自帶的init_db.sql。先退出MySQL輸入exit然后在項(xiàng)目根目錄下執(zhí)行mysql -u root -p -e CREATE DATABASE IF NOT EXISTS library_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; mysql -u root -p library_db init_db.sql注意第二行命令里library_db必須和config.py里DB_NAME一致否則后面Python連不上。如果init_db.sql路徑不在當(dāng)前目錄把 init_db.sql換成完整路徑比如 /Users/xxx/downloads/init_db.sql。執(zhí)行完后進(jìn)MySQL驗(yàn)證mysql -u root -p library_db然后SELECT COUNT(*) FROM book;如果返回0說(shuō)明導(dǎo)入成功初始無(wú)圖書(shū)如果報(bào)錯(cuò)Table book doesnt exist說(shuō)明SQL文件沒(méi)執(zhí)行成功檢查上一步的命令輸出有沒(méi)有ERROR字樣。3.3 第三步安裝Python依賴(lài)并啟動(dòng)Flask服務(wù)項(xiàng)目只依賴(lài)兩個(gè)包Flask和PyMySQL。別用pip install -r requirements.txt這個(gè)項(xiàng)目沒(méi)提供requirements.txt為防版本沖突我們手動(dòng)裝pip install Flask PyMySQL裝完后在項(xiàng)目根目錄運(yùn)行export FLASK_APPapp.py export FLASK_ENVdevelopment flask run --host0.0.0.0 --port5000Windows用戶(hù)把export換成setset FLASK_APPapp.pyset FLASK_ENVdevelopment。如果看到* Running on http://0.0.0.0:5000/說(shuō)明服務(wù)起來(lái)了。打開(kāi)瀏覽器訪問(wèn)http://localhost:5000應(yīng)該能看到圖書(shū)列表頁(yè)。如果報(bào)ModuleNotFoundError: No module named pymysql說(shuō)明PyMySQL沒(méi)裝對(duì)重裝一次如果報(bào)OSError: [Errno 48] Address already in use說(shuō)明5000端口被占換端口flask run --port5001。3.4 第四步注冊(cè)用戶(hù)并添加測(cè)試圖書(shū)首次訪問(wèn)首頁(yè)會(huì)跳轉(zhuǎn)到登錄頁(yè)。先注冊(cè)一個(gè)普通用戶(hù)點(diǎn)“注冊(cè)”填用戶(hù)名student1、密碼123456、角色選user登錄后點(diǎn)頂部導(dǎo)航欄“管理員登錄”用默認(rèn)賬號(hào)admin/123456登錄密碼在init_db.sql的INSERT語(yǔ)句里寫(xiě)死了進(jìn)管理員后臺(tái)點(diǎn)“添加圖書(shū)”填I(lǐng)SBN978-7-04-050694-5、書(shū)名數(shù)據(jù)庫(kù)系統(tǒng)概論、作者王珊、出版社高等教育出版社、庫(kù)存5。添加后回到首頁(yè)應(yīng)該能看到這本書(shū)出現(xiàn)在列表里庫(kù)存顯示5。這是驗(yàn)證整個(gè)CRUD鏈路通了的關(guān)鍵一步——從前端表單提交到后端接收到SQL插入再到頁(yè)面刷新顯示一氣呵成。3.5 第五步完成一次借閱全流程并驗(yàn)證事務(wù)現(xiàn)在來(lái)測(cè)最核心的借閱邏輯用student1賬號(hào)登錄找到剛添加的《數(shù)據(jù)庫(kù)系統(tǒng)概論》點(diǎn)“借閱”頁(yè)面應(yīng)提示“借書(shū)成功”同時(shí)庫(kù)存從5變成4刷新頁(yè)面確認(rèn)庫(kù)存更新再點(diǎn)一次“借閱”應(yīng)該提示“圖書(shū)庫(kù)存不足”。驗(yàn)證事務(wù)是否生效手動(dòng)進(jìn)MySQL執(zhí)行SELECT * FROM borrow_record;應(yīng)該看到一條新記錄且status為borrowed再執(zhí)行SELECT stock FROM book WHERE title數(shù)據(jù)庫(kù)系統(tǒng)概論;結(jié)果應(yīng)為4。如果庫(kù)存沒(méi)變但借閱記錄有了說(shuō)明事務(wù)沒(méi)提交——回頭檢查app.py里db.commit()是否被注釋掉了。這五步走完你已經(jīng)跑通了課設(shè)90%的功能。剩下的“逾期計(jì)算”、“導(dǎo)出報(bào)表”、“修改密碼”都是錦上添花可以等答辯前兩天再加。4. 避坑指南那些讓我熬夜改到凌晨三點(diǎn)的血淚經(jīng)驗(yàn)做數(shù)據(jù)庫(kù)課設(shè)最痛苦的不是不會(huì)寫(xiě)而是不知道哪行代碼在暗處埋雷。我?guī)蛯W(xué)生調(diào)試時(shí)整理出這5個(gè)高頻翻車(chē)點(diǎn)每一個(gè)都對(duì)應(yīng)真實(shí)debug場(chǎng)景照著排查能省你至少6小時(shí)。4.1 現(xiàn)象頁(yè)面空白瀏覽器F12看Network全是404原因Flask路由沒(méi)注冊(cè)或URL拼寫(xiě)錯(cuò)誤。比如app.py里寫(xiě)了app.route(/api/books)但前端JS里調(diào)用的是/api/book少了個(gè)s。解決打開(kāi)瀏覽器開(kāi)發(fā)者工具→Network標(biāo)簽頁(yè)→點(diǎn)一下“借閱”按鈕看發(fā)起的請(qǐng)求URL是什么再對(duì)照app.py里的app.route()裝飾器確保完全一致。大小寫(xiě)也要敏感/API/books和/api/books是兩個(gè)路由。4.2 現(xiàn)象借書(shū)成功但庫(kù)存沒(méi)減少或者借閱記錄里user_id是NULL原因前端傳參格式錯(cuò)誤。fetch請(qǐng)求沒(méi)設(shè)Content-Type: application/json導(dǎo)致Flask收到的是request.form空字典而不是request.get_json()解析出的字典。解決檢查static/js/main.js里borrowBook()函數(shù)確認(rèn)fetch配置里有headers: {Content-Type: application/json}且body: JSON.stringify({user_id: userId, book_id: bookId})。漏掉JSON.stringify或headers都會(huì)讓后端收不到參數(shù)。4.3 現(xiàn)象MySQL報(bào)錯(cuò)Incorrect string value: \xE4\xB8\xAD\xE6\x96\x87 for column title原因數(shù)據(jù)庫(kù)、表、字段的字符集不統(tǒng)一。init_db.sql里建表用了utf8mb4但MySQL服務(wù)器默認(rèn)字符集是latin1。解決進(jìn)MySQL執(zhí)行SHOW VARIABLES LIKE character_set%;確認(rèn)character_set_server是utf8mb4。如果不是編輯MySQL配置文件Windows是my.iniMac是/usr/local/etc/my.cnf在[mysqld]下加兩行character-set-server utf8mb4 collation-server utf8mb4_unicode_ci然后重啟MySQL服務(wù)。4.4 現(xiàn)象管理員登錄后點(diǎn)“用戶(hù)管理”報(bào)500錯(cuò)誤日志顯示pymysql.err.OperationalError: (1054, Unknown column u.role in field list)原因user表結(jié)構(gòu)變更了但admin.py里的SQL查詢(xún)還引用舊字段。比如你給user表加了department字段卻忘了改SELECT * FROM user u這句。解決打開(kāi)admin.py找到報(bào)錯(cuò)行附近的SQL語(yǔ)句把SELECT *改成明確列出字段如SELECT u.id, u.name, u.role, u.created_at。永遠(yuǎn)不要在生產(chǎn)/課設(shè)代碼里用SELECT *這是血的教訓(xùn)。4.5 現(xiàn)象本地跑得好好的一拷貝到學(xué)校機(jī)房就報(bào)ModuleNotFoundError: No module named flask原因機(jī)房Python環(huán)境沒(méi)裝Flask或者裝了但不在當(dāng)前Python解釋器路徑下。學(xué)生常用pip install flask裝到用戶(hù)目錄但機(jī)房可能禁用了用戶(hù)pip。解決用python -m pip install flask強(qiáng)制用當(dāng)前python調(diào)pip如果還不行把venv虛擬環(huán)境打包過(guò)去在本地項(xiàng)目根目錄執(zhí)行python -m venv myenv→source myenv/bin/activateMac/Linux或myenv\Scripts\activateWindows→pip install flask pymysql→ 把整個(gè)myenv文件夾拷到機(jī)房運(yùn)行前先激活。雖然多幾步但100%可靠。5. 二次開(kāi)發(fā)實(shí)戰(zhàn)加一個(gè)“逾期提醒”功能從需求到上線(xiàn)只需30分鐘課設(shè)答辯時(shí)老師最?lèi)?ài)問(wèn)“如果要加一個(gè)XX功能你怎么實(shí)現(xiàn)”這時(shí)候千萬(wàn)別說(shuō)“我查查文檔”直接掏出你剛改好的代碼現(xiàn)場(chǎng)演示。下面我就以“給借閱超30天的用戶(hù)發(fā)站內(nèi)信提醒”為例帶你走一遍從分析到上線(xiàn)的完整鏈路——所有改動(dòng)都在原有文件里不新增模塊符合課設(shè)“在原項(xiàng)目上擴(kuò)展”的要求。5.1 需求拆解什么是“逾期”數(shù)據(jù)庫(kù)里怎么存首先明確業(yè)務(wù)規(guī)則“逾期”指借書(shū)時(shí)間超過(guò)30天且未歸還。borrow_record表里已有borrow_time和return_time所以判斷邏輯是return_time IS NULL AND borrow_time DATE_SUB(NOW(), INTERVAL 30 DAY)。注意不是用DATEDIFF函數(shù)因?yàn)镈ATEDIFF在某些MySQL版本里對(duì)NULL處理不一致IS NULL加日期比較更穩(wěn)妥。接下來(lái)決定提醒信息存哪。新建一張notification表太重課設(shè)沒(méi)必要直接復(fù)用現(xiàn)有表在borrow_record里加notified布爾字段默認(rèn)FALSE即可。這樣既保持結(jié)構(gòu)簡(jiǎn)單又避免跨表關(guān)聯(lián)。5.2 數(shù)據(jù)庫(kù)改造兩行SQL搞定表結(jié)構(gòu)升級(jí)打開(kāi)init_db.sql在borrow_record表創(chuàng)建語(yǔ)句末尾加上新字段ALTER TABLE borrow_record ADD COLUMN notified BOOLEAN DEFAULT FALSE AFTER status;注意AFTER status指定字段位置讓表結(jié)構(gòu)更清晰DEFAULT FALSE保證歷史數(shù)據(jù)默認(rèn)不提醒。執(zhí)行這行SQL前先備份原表CREATE TABLE borrow_record_backup AS SELECT * FROM borrow_record;5.3 后端邏輯在管理員報(bào)表里集成逾期檢測(cè)不用新建接口直接改admin.py里的overdue_report()函數(shù)。原來(lái)只查數(shù)據(jù)現(xiàn)在加一步“標(biāo)記已通知”# admin.py 修改后 admin_bp.route(/reports/overdue) def overdue_report(): if session.get(role) ! admin: return redirect(url_for(auth.login)) cursor db.cursor() # 步驟1查出所有逾期記錄未歸還且超30天 cursor.execute( SELECT u.id as user_id, u.name, b.title, br.borrow_time FROM borrow_record br JOIN user u ON br.user_id u.id JOIN book b ON br.book_id b.id WHERE br.return_time IS NULL AND br.borrow_time DATE_SUB(NOW(), INTERVAL 30 DAY) AND br.notified FALSE ) overdue_list cursor.fetchall() # 步驟2把這批記錄的notified設(shè)為T(mén)RUE避免重復(fù)提醒 if overdue_list: ids [item[user_id] for item in overdue_list] placeholders ,.join([%s] * len(ids)) cursor.execute(fUPDATE borrow_record SET notified TRUE WHERE user_id IN ({placeholders}), ids) db.commit() return render_template(admin_overdue.html, overdue_listoverdue_list)關(guān)鍵點(diǎn)UPDATE語(yǔ)句用IN批量更新比循環(huán)單條UPDATE快十倍db.commit()必須在cursor.execute()之后否則標(biāo)記不生效。5.4 前端展示在報(bào)表頁(yè)加醒目的“已提醒”標(biāo)識(shí)打開(kāi)templates/admin_overdue.html在表格循環(huán)里加一列!-- templates/admin_overdue.html 新增列 -- td {% if overdue_list %} span classbadge bg-warning text-dark待提醒/span {% else %} span classbadge bg-success已提醒/span {% endif %} /td更進(jìn)一步可以加個(gè)“重新發(fā)送提醒”按鈕調(diào)用新接口/admin/notify-again但課設(shè)階段做到這里足夠——老師看到你理解了“狀態(tài)機(jī)”notified字段和“冪等性”避免重復(fù)提醒分?jǐn)?shù)就穩(wěn)了。5.5 驗(yàn)證與交付三步確認(rèn)功能可用數(shù)據(jù)準(zhǔn)備用MySQL手動(dòng)插一條超30天的測(cè)試記錄INSERT INTO borrow_record (user_id, book_id, borrow_time, status) VALUES (1, 1, 2023-01-01 10:00:00, borrowed);觸發(fā)檢測(cè)登錄管理員賬號(hào)訪問(wèn)/admin/reports/overdue頁(yè)面應(yīng)顯示這條記錄且數(shù)據(jù)庫(kù)里notified變?yōu)?二次驗(yàn)證刷新頁(yè)面記錄消失因?yàn)閚otified FALSE條件不滿(mǎn)足證明標(biāo)記生效。從改SQL到改Python再到改HTML全程30分鐘。這背后是課設(shè)最核心的能力理解數(shù)據(jù)流向知道在哪一層加邏輯最合理。前端加按鈕是表象后端加狀態(tài)字段才是本質(zhì)。從那以后我每次接課設(shè)需求都先問(wèn)自己三個(gè)問(wèn)題這個(gè)狀態(tài)該存在哪張表這個(gè)邏輯該放在SQL里還是Python里這個(gè)展示該用實(shí)時(shí)查詢(xún)還是緩存結(jié)果答案清楚了代碼自然就出來(lái)了。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月丁香五月婷婷| 99rewww| 五月丁香色狠狠干大屄| 婷婷六月综合激情| 激情五月综合第一页| 久久亚洲天堂| 午夜爱爱爱成人| 欧美日韩国产一二区| 妻久久人久久| 99这里有精品免费| 影音先锋91资源站| 色五婷婷开心缴| 99ri在线播放| 久777| 91精品久久久久久久久| www.五月激情红色| 99黄色在线视频精品熟女| 欧美超级视频97| 开心五月婷婷激情| 熟女少妇内射日韩亚洲| 亚洲五月天婷婷| 日本美女天天日天天爽| AV在线免费网站| 99热这里都是精品| 99啪啪| 夜夜天天天天天干天天爽| 亚洲国产网站| 亚洲精品国产A久久久久久| 五月色丁香视频精品| 五月丁香免费看| 激情婷婷另类| 99热综合在线| 丁香五月天社区| 99热日本| 婷婷成人综合免费视频| 天天久久人人| 欧韩性爱| 色色婷| 99热这里精| 人人摸人人摸| 五月婷婷婷丁香播| 无人精品在线视频| 99热这里只有精品3| 激情五月丁香六月综合AVXXXX| 永久免费视频| 久99热在线观看| 久久久av久av久片一区二区| 色99视频| 婷婷丁香十月| 996er热| jiZZdr| 色色婷婷综合网| 激情文学 综合 色| 婷婷在线观看五月天在线视频| 久热re在线视频| 超碰v| 99综合在线| 五月丁香六月综合激情| 思思热再线视频| 婷婷丁香人妻天天爽| 99热.com| 六月丁香五月天| 九九热视频免费观看| 国产韩日亚洲美州欧亚综合在线| 婷婷五月天色色| 九九精品热播| 色婷婷av在线| 99操| 五月天欧美 另类小说| AV伊人青草丁香六月| 大天天伊人| www.99热这里精品 | wwwwww.色| 天天激情夜夜干| 色色色精品无码区| 精品成人无码A片观看香草视频| 婷香五月网在线| 五月丁香91| 久久超级碰视频| 丁香六月成人网| 丁香熟女乱| 五月丁香亭亭AV女优| 色yeye色综合| 色狠狠综合| 色综合色色| sesesesezonghe| 思思热久在线观看视频| 99爱在线观看视频| 大香蕉AV在线| 成人精品视频99在线观看免费| 日日色综合| 亚洲男女激情| 超碰一区二区| 热99国产精品| 操射国产日本| 亚洲色综合| 婷婷激情五月| 天色色综合网| 淫荡家庭AV| 思思热99er在线视频| 婷婷六月激情啪啪| 六月婷婷久久| 五月丁香婷婷五月色| 97se在线视频| 99这里只有免费的小视频在线观看| 色婷婷丁香五月天在线视频| 色欲久久久久久综合网综合网| 久久婷婷激情| 六月色 亚洲| 99热精品观看| 五区毛片七区毛片| 99欧美| 九九热黄色| 熟女激情网| 欧美狠狠一在草| 丁香五月亚洲综合| 婷婷金品综合视频| 1囯产午夜仑鲁鲁| 午夜成人AV在线| 五月天激情视频| 狠狠操狠狠插| 91色综合网| 丁香久久五月天视频在线观看| av狠狠操| ai97re99一本| 成人网站免费sxj| 五月婷婷深深爱| 亚洲无AV在线中文字幕| 久久婷婷热| 99热99艹在线观看| 天天情天天狠天天透| 亚洲sesesese| 99热这里都是精品| 婷婷激情五月天小说| 26uuu国产色| 婷婷淫淫狠狠六月| 性爱激情五月| 5月色亭亭视频| 99超级碰碰| 亚洲中字AV电影在线网站| 5月丁香综合网| 大香蕉婷婷五月天| 91色色色视频| 亚洲成人在线观看av| 丁香蜜臀黄色婷婷五月天| 五月丁香基地| 播五月丁香三月婷婷| 久久66er久久| 免费的日逼视频| 99激情网| 亚洲性爱99| 国产av基地| 激情丁香五月| 婷婷终合色图| 99久视频| 99久久9| 五月天国产婷婷精品视频在线| 婷婷六月综合激情| 亚洲色婷婷五月天| www.五月.com| 综合爱久久| 五月天婷婷五月| 玖久精品视频9| 婷婷丁香五月天激情| 日本三级第一页| 五月天婷婷基地丁香| 琪琪色五月天| 激情丁香五月AV| 久久黄色免费视频| 91干| 久久久大香蕉| 婷婷五月丁香综合| 精品五月视频婷婷在线观看| 七七婷婷综合| 亚洲精品永久久久久久| 五月婷婷七月丁香| 九九热精品| 伊人九热| 婷婷激情五月天网站| 五月婷六月丁香| 日日爱激情| 超碰国产在线| 丁香六月狠狠干| 亚洲丁香五月美女| 大香蕉啪啪| 97超碰在线免费观看| 婷婷黄色| 成人视频一区| 婷婷丁香高潮了| 婷婷五月天小说网| 综合久久婷婷| 色色色欧美| 激情99在线视频| 色综合激情| 超碰人人操| 色婷婷婷婷成人网| 成人噜噜网| 97碰碰草| 人妻av在线| 五月婷婷丁香综合| 久热免费视频| 狠狠五月天婷婷激情网。| 色原狠狠综合| 99燥99日| 五月丁香久久呀| 日韩人妻白浆视频系列| 色播综合| 久热这里只有精品3| 色五月激情| 香蕉久久五月| 婷婷久久亚洲| 五月深情久久| 久久98| www.色五月| 国产激情在线| www.狠狠| 五月色婷婷影视在线电影| 婷婷午夜激情| 色色色色网站| 久久久久久久丁香五月天婷婷| 日日操日日撸| 91凹凸在线| 久久艹99| 天堂爱爱| 色色九九五月天 | 丁香五月婷婷精品视频| 成人龟情网丁香五月| 99视频一区| 91呦呦呦| 9999久久久久| 五月综合亚洲| 99热这里都是精品| 91ncm视频| 五月香婷婷| 丁香五月天无码AV| 99色看这里只有精品| 九九热视频精品2| 92久久| 色九九综合| 久久久这里都是精品| 色五月激情综合网| 啄木鸟黑丝一区二区| 26uuuavcom| 自拍盗摄 另类| 色五月婷婷综合| 91精品国产99久久久久久天美| 九九色综合九九色| 成人九九视频| www.婷婷| 人人妻人人澡人人爽| 色综合色色色色| 玖玖爱综合网| av 一区三区四区| 碰碰91| 四色永久成人网站| 九九热AV| 粉嫩av蜜桃av蜜臀av| 九九视频精品在线免费| 色色五月婷婷久久| 99精品综合视频| 五月婷婷在线综合| 免费视频WWW在线观看网站| 久久久av久av久片一区二区| 综合色色婷婷| 亚洲色色香蕉| 蜜桃人妻无码AV天堂三区| 日韩成人中文| 激情六月五月婷婷综合网| 婷婷五月图片小说视频| 日本欧美成人片AAAA| 五月丁香少妇| 另类 在线| 嫩草视频。| 情情五月天色| 丝袜大香蕉| 丁香五月综合无码趴趴| 色欲天天综合| 成人看片网站| 五月天婷婷久久| 青青草原亚洲天堂| 婷婷五月天久久| www.婷婷,com| www.金莲av| 思思综合热| 国产精品久久久久9999小说| 怡红院一二三| 91丨九色丨熟女|新版| 五月婷婷成人| 亚洲色综合色网| 五月天色区| 天天干天天曰天天射| 日韩999| 天天曰夜夜爽| 国产精品色色| 五月丁香成人网| 91久久久久久久久18| 欧美大肥婆大肥BBBBB| 91色色色| 激情五月六月婷婷| 青草激情综合| 99久热这里有精品| 日韩欧美婷婷丁| AV人人操| 色五月五月婷婷| 色婷婷丁香社综合| AA片在线观看视频在线播放| 亚洲色视频| 色婷婷在线播放| 丁香婷婷色五月| 天天成人丁香美女AV| 嫩草视频。| 六月婷婷日| 色青五月天| 极品少妇高潮啪啪AV无码| 激情五月天www| 亚洲成人高清在线| 丁香五月黄色| 五月婷婷丁香大陆免费| 成人一区在线观看| 国产高清av黄色看片| 天天婷婷| 思思99re这里只有| 青青草成人网| 99操逼视频| 丁香五月天堂| 五月婷婷六月情| 国产成人va在线| 九九99热| 久9草在线观看视频| 国产69久久久欧美黑人A片| 五月婷婷啪啪啪| 欧美色频| 另类图片激情五月| 色婷婷丁香五月| 丁香婷婷五月激情| 成年视频免费观看| 日韩AV中文在线观看| 婷婷激情五月综合丁| 天天激情综合| 五月丁香婷婷激情在线| 97狠狠色| 开心婷婷五月激情网小说| www.婷婷亚洲基地| 精品综合爱| 婷婷丁香六月| 色综合久久天天综合网| 国产又爽又猛又粗的视频A片| 婷婷综合影院| 狠狠色综合久久| 夜夜撸日日骑| 色综合久久伊伊婷婷五月| 婷婷激情五月| 超碰91av| 婷婷91| 天天做天天双| 狠狠操天天干| 操操操91| 婷婷五月激情网站| www天天色天天射| 丁香五月激情网| 婷婷综合五月天| 天天干,夜夜爽| 婷婷色色综合| 天天插天天狠| 激情五月天com| 99色色| 任你弄在线视频免费| 激情图片婷婷| 99热亚洲| 天天射天天插天天干| 无码啪啪| 嫩模草| 碰碰碰91| 亚洲99手机免费看视频 | 影音先锋色婷婷| 无码AV久久久久久久久| 亚洲超级碰| 开心五月激情站| 婷婷的99视频网站| 亚洲中文字幕翔田千里| 婷婷丁香五月天色播网站| 五月婷视屏在线观看| 超碰av在线| 色婷婷五月在线| 五月花免费视频| 婷婷激情鹿城五月天| 欧美色97| 丁香婷婷色色| 五月花免费视频| 婷婷五月网图片区| 婷婷日日夜夜| 婷色五月天| 天天操夜夜夜拍拍拍| 亚洲久久视频| 精品久久穴| 啄木鸟黑丝一区二区| 亚洲av| 婷婷丁香五月亚洲| 青青草婷婷久久| 激情婷婷综合| 久久99精品久久久| 日本久久精品| 日日干夜夜撸夜夜骑| 国产精品久久久久久久久久| 亚洲美女婷婷五月天| 欧美色激情四射| 久久婷婷91| 99re这里只有精品免费| 丁香五月婷婷激情四射深爱激情| 97人人搞| 色情五月婷| 色色啊| 亭亭五月基地在线| 综合色播| 99精彩视频| 婷婷丁香五月激情密臀av| 另类五月婷婷| 久草婷妨| 色啪网| 中文aV网| 男人天堂99| 大香焦啪啪啪| 丁香五月欧美色综合| 五月天丁香六月综合| 国产精品第一国产精品| 91在线日| 婷婷六月激情啪啪| 4399在线观看免费高清电视剧| 青青艹b| 婷婷五月五月丁香| 丁香五月AV| 很很干在线视频| 国产综合色婷婷精品久久| 99热精品在线播放| 丁香五月天激情网| 99视频精品视频| 五月婷婷精品视频| 日韩黄在免| www.99热视频| 天天做天天爱天天玩夜夜爽| 天天做天天爱天天爽在| 五月丁香999| 国产精品99久久久久久久女警| 国产一级婬片毛片| 婷婷久久综合久| 中文字幕婷婷9月天| 五月丁香花开综合网| 色婷婷瘦婷婷日韩| 伊人大香久久| 色色色五月天婷婷| 婷婷99狠狠躁天天躁| 蜜臀av在线成人电影| 丁香婷婷丁香五月欧美人| 97色色综合| 久Se视频在线观看| 插逼综合网| 欧美色图天堂网| 9.1综合网| 色五月婷婷婷婷| 色欲AV导航| 伊人色综合网| 五月天婷婷小说| 99热精品免费| 色五月婷婷影视| 激情五婷网| 99日精品视频| 美国天天日天天操| 亚洲色频| 大香蕉婷婷色| 丁香五月婷婷成人网| 五月天婷婷视频30| 久热大香蕉| 大香蕉福利导航| 婷婷色色丁香| 性小说五月天| 婷婷丁香五月天激情| 日韩乱轮AV| 九色无码| 91精品熟女| 五月天久久91| 五月丁香好婷婷A片网| 粉嫩AV久久一区二区三区| 色天使色婷婷| 秋霞A V毛片| 69人人操人人爽| 丁香五月婷婷狠狠色| 操九色| 五月婷婷啪啪啪| 婷婷五月天亚洲激情戏精品| 婷婷五月天堂| 9999综合99综合人| 五月婷婷就去色| 激情五月色综合| 日韩无码亚欧无码| 丁香五月欧美色综合| 婷婷五月天AV| 思思色综合网站| 丁香五月激情五月| 日本无va视频| 久热99狠| 综合激情综合啪啪| 人妻丰满精品一区二区A片| 99色综合网| 婷婷五月天色色| 午夜一区| 五月天婷婷激情六月久久| 五月丁香婷婷久久| 超碰在线94| 丁香六月婷婷高清| 啪啪婷婷五月天激情| 另类A片| 亚洲性图一区二区三区| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 国产精品久久久60086| 深夜婷婷 丁香| 丁香五月激情综合| 亚洲小视频免费播放| 色欲久久综合| 久99久热只有精品国产99| 久久久91精品| 婷婷在线视频| www.色擼擼.com| 久热大香蕉| 五月婷婷先锋| 99久久网站| 99爱这里只有精品免费视频| 五月丁香婷婷五月色| 六月色婷婷综合影视| 亚洲第一第二网站| 成人在线综合| 亚洲第79页| 无码九九| 久久久久久久久久久月丁| 欧美黄色韩日网| 婷婷丁香五月天在线视频| 久久伊人9| 九月色婷婷综合亚洲| 亭亭玉月丁香| 久草A片| 丁香婷婷基地| 俺也去综合| av色婷婷| 综合五月婷婷| 九热视频在线精品15| 亚洲成人AV电影网| 五月丁香婷婷成人网| 婷婷五月在线观看| AV伊人青草丁香六月| 色色色综合| 亚洲人人艹| 久久久噜噜噜久久人妻| 欧美五月丁香| 五月天激情无码高清| 国产日批视频免费播放| 亚洲色婷婷网站| 欧美综合在线五月天色婷婷| 操你av| 日本在线免费中文com.| 国产午夜精品一区二区| 在线1青婷| 久久精品女人天堂AAA| 中文字幕无线久必| 婷婷伊人綜合中文字幕小说| 五月天婷婷综合网| 日韩AV免费看| 精品国产乱码久久久久久免费| a在线观看| 伊人久久婷婷| 免费观看全黄做爰的视频| 大香蕉综合在线| 五月色网| 色久五月天| 国产裸舞福利资源在线视频| 色综合色综合网| 欧美天天综合网站上去吧| 狠狠色综合网站| 99免费视频| 国产肥白大熟妇BBBB视频| 92久久久| 9精品在线| 九九精品自拍| WWW.99热| 老司机伊人| 婷婷五月天av| 五月丁香趴趴| 五月丁香拍拍激情综合| 丁香五月激情欧欧美| 丁香婷婷六月激情文学| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片| 亚洲情欲| 色香欲综合| 久七香蕉| 久久这里都是精品免费| z色五月播播久久| 亚洲乱码日产精品BD| 婷婷五月综合激情免费视频| 色综合五月天| 五月激情婷婷四射| 停停色综合伊人| 久久久大香蕉| 大香蕉五月婷婷丁香| 丁香五月香蕉在线| 五月婷综合性中心| 噜噜久| 久久女婷| 午夜丁香| 丁香午夜天| 精品A√| 五月丁久久| 五月婷婷xxx| 超碰人人超碰| 好叼操在线观看| 六月色色婷婷| 丁香色色五月| 开心婷婷五月天综合| 97九色视频| 在线VA视频| 天天综合精品| 大香蕉婷婷色| 狠狠色综合网| 2017狠狠干| 色呦呦美女| 九九九九综合| 啪啪小说五月天| 色色99| 五月丁香av在线| 九月丁香久久网| 天天爽—爽| 五月激情婷婷播播开心| www98日本小时间到了| 黄网在线播放| 丁香六月婷婷综合网| 337p大胆噜噜噜噜噜91Av| 激情婷婷丁香五月天小说| 色综合色色| 久久久人妻人伦| 免费观看欧美成人AA片爱我多深 | 久久丁香五月婷婷| 干一干xxxx| 区美毛片子| 综合xx网| 综合性爱网| 泰州成人视频| 欧美日韩一区二区三区四区| 亚洲黄色网址| 五月婷婷之美女图片| 五月丁香色综合| 五月天婷婷基地综合网| 97色在线观看视频| 成人.在线日韩| 五月丁香狠狠地噜噜噜噜| 伊人网碰碰| 亭亭五月色男人| 色婷婷久综合久久一本国产AV| 夜夜躁婷婷AV| 国产乱妇乱子伦| 少妇出轨做爰高潮A片| 大香蕉中文| www,天天干| 九色PORNY自拍成人精彩视频| 中文字幕丰满孑伦无码专区| 97五月天婷婷| wwccc久久久| 丁香六月激情国产| 玖玖资源在线视频| 大香蕉久操| 五月丁香六月婷婷开心网| 热久久思思热思思| 成人天天爽| 婷婷五月另类网站| 五月婷婷六月丁香玖玖玫瑰91| 人妻内射一区二区在线视频| 亚洲中文AV| 丁香九月激情| 激情五月com| 人妻激情视频| 六月五月久久丁香| 亚洲精品无码A片一区二区| 99视频自拍| 婷久久| 成人一区在线观看| 色99无码| www.久久久久久久| 国产精品久久..4399| 影音先锋一区二区三区| 丁香五月影院| 国产日韩欧美性生活| 天天综合久久| 日韩综合网络男女香蕉a片| 日本人妻A片成人免费看片| 九洲一级A片| 九色无码| 激情五月天色色网| 色区久久| 深爱激情69热| 久草婷| 九九色精品| 五月 激情视频| 亚洲免费观看高清完整版AV线| 天天高潮夜夜爽| 狠狠色狠狠爱| 六月激情婷婷综合| 欧洲99视频在线| 超碰高清在线| 天天综合.com| 色播丁香| www九九热| 亚洲免费电影2| 青青色com久久| 中美月韩免费A片| 超碰免费人妻| 欧美成人A片AAA片在线播放| 婷婷五月天影院| 婷婷久久色| 免费在线a| 97香蕉碰碰人妻国产欧美| 婷婷深爱五月亚洲综合| 久久久无码精品成人A片小说| 五月丁香偷拍| 欧洲S级在线观看| 五月丁香六月婷婷亚洲| 丁香婷婷影院| 99丁香婷婷综合网| 91九色精品| jiujiu无码五区| 99re久久| 超碰日韩成人| 先锋男人99资源| 久久这里只有精品8| 伊人久久艹| 精品九九久久| 天天干天天爽天天操| 有哪些A片网站| 五月天久久婷| 婷婷五月天Av| 五月天久久综合| www.无码com| 婷婷激情图片| 天天综合五月| 五月丁香欧美综合| 99久久综合| 永久无码色| 久久综合婷婷| 色五月综合网| 香蕉久久国产AV一区二区| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 亚洲男女激情| 一区二区aV电影免费看| 99热这是里只有精品| 97精品欧美91久久久久久久| 激情文学 综合 九月| 亚洲操B| 激情99| 99免费在线视频| 九九热精品99| 色色五月天婷婷丁香| 国产亚洲99久久精品熟女| 国语对白性爱视频播放| 五月激情在线| 日本色色色| 五月天电影网| 五月丁香天天| 9色在线| 天天色综合综合| 任你擦免费视频| 成人做爰高潮A片免费视频 | 午夜日韩久久久网站| 久久99免费视频| 五月天伊人综合| 狠狠综合| www.91在线观看| 91丨九色丨东北熟女| av五月丁香| 婷婷色五月天在线| 色综合天天网| 操碰91| 五月婷婷久久久久| 天天色综网| 成 人 色 色| 91婷婷搞| 欧美性做爰大片免费看办公室| 色。 日日日| 四月婷婷五月色综合| 亚州婷婷五月激情综合| 久久九九Com| 熟惀91九色在线| 天天操天天操天天操天天操天天操天天操| 思思视频这里是精品| 国产9色在线/日韩| 五月丁香六月婷婷不卡免费无码| 人人操人av| 碰超在线九色| 在线观看av网站| 色婷婷六月天| 久久久无码精品成人A片小说| 激情五月少妇| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 人人草成人视频| 婷婷精品在线| 7月婷婷六月丁香| 五月丁香综合激情在线观看| 丁香六月狠狠干| 综合激情婷婷| 亚洲AV激情五月综合网| 综合久色五月| 思思久久99热只有频精品66| 六月丁AV| 99热人人| 丰满少妇猛烈A片免费看观看| 色99综合色88| 五月花激情网| av九九| 亚洲AAA| 久热这里只有精品99re| 九九热99免费视频| 日产精品一线二线三线芒果| 五月天丁香婷婷视频网址| 啪啪操操| 欧美久久五月婷婷| 五月婷婷五月天在线| 久久这里只有精品热在99| 久草婷婷网 | 色啪网| 色五月丁香婷婷综合| 免费观看的婷婷五月视频在线| 99福利导航| 夜夜嗨一区二区三区直播内容| 五月婷婷www| 五月色亭丁香| 人人操人人干AV| 久热免费视频| 91视频五月丁香| 欧美天天综合网站上去吧| 天天久综合| 亚洲爆乳无码精品AAA片蜜桃| 丁香天堂夜| 人妻性爱| 影音先锋偷偷色男人站| 91性高潮久久久久久久久| 伊人AV五月婷| 色狠狠色噜噜AV天堂五区| 国产免费一区二区三区三州老师F1F1.CC| 综合网色| 99热这里只有精品国产首页| 中文婷婷狠狠| 亚洲AV电影av| 牛牛碰免费| 99色综合| 亚洲九九免费| 久久久久这里只有精品| 操人无码| 99热精品在线播放| 久久五月激情| 天堂色婷婷| 欧美日韩成人高清在线| 美女妹子后射视频网站在线观看| 午夜天堂一区人妻| 五月婷婷内射网| 丁香五月社区| 天天日狠狠| 噼里啪啦完整版中文在线观看| 色婷婷成人丁香| 思思热在线观看| 丁香色播五月天| 无码一区精品一区视频| 天天夜天天色天天| 狠爱婷色| 亚洲人妻av| 色综合色婷婷色伊人| 亚洲五月天,激情视频| 亚洲激情视频在线观看| 久热99| 1000部毛片A片免费观看| 深爱开心激情网| 性一交一乱一交A片久| 色丁香婷婷| 爆乳熟妇一区二区三区爆乳| 91丨九色丨东北熟女| 五月婷婷欧美激情| 操逼视频一区| 免费黄网不卡AV| 激情欧美丁香五月| 精品人人操| 国产乱妇乱子在线播视频播放网站 | 婷婷五月天中文字幕| 午夜丁香六月婷| 国产操逼网站| 99久久99综合| 9l视频自拍9l九色9l成人| 99超超碰| 天天综合网91| jiujiu无码五区| 久9热插入| 亚洲人妻av| 激情婷婷网| www色婷婷| 婷久久高清| 天天日夜夜拍| 狠狠插狠狠插| 涩涩涩婷婷| av成人在线播放| va亚洲中文在线| 天堂中文国产| 日韩av免费版| 91九色在线| 人人人人人人人草| 69久久99精品久久久久婷婷| 色婷精品91| 99A片| 亚洲人妻五月丁香婷婷| 久久99免费视屏| 婷婷婷久久久| 99久久久国产大片区| 丁香六月婷婷综合在线| 九九热色视频| www,五月天com| 97色婷婷| 开心丁五月| 插插插丁香五月婷婷| 丁香五月婷婷六月婷婷| 中文网AV| 五月丁香六月婷婷中文版| 一區四區歐美日韓| 婷婷操逼网| 欧美成人AAA片一区国产精品| 色情综合网| 91久久久久| 天天色,天天操,天天射| 热日韩欧美| 欧美成人猛片AAAAAAA| 99熟女| 十一月婷婷激情四射| 五月天另类小说久久小说网| 97丁香花五月天激情小说| 久久三级视频| a69在线视频| 亚洲色情免费网| 日日懆天天懆| 青青草五月天| 九九综合色| 性做久久久久久久免费看| 97大香蕉五月天| 激情五月综合久久| 婷综合| 激情综合色| 玖玖九九超碰| 热久久这里只有精品| 99在线热| 3www激情| 天天操天天日天天爱| 99操无码视频观看| 中文字幕,综合,91| 天堂综合久久| 人人摸人人干| 五月婷婷伊| 久久免费高| 五月花在线观看视频| 亚州色色色| 婷婷国产五月天17c| 天天天久久久| 另类视在线| 五月激情四射网站| site:pzdcoin.com| 久久婷婷五月综合激情国产 | 五月丁香六月婷| 人人操9| 丁香九月婷婷| 五月婷婷六月色| 三级av在线| 精品久色| 婷婷激情六月综合| 久久婷婷五月综合色和| 第2色五月婷| 97香蕉久久超级碰碰高清版 | 亚洲有码在线视频| 思思热再线视频| 五月婷婷性爱| 九九热超碰| 五月婷婷久久大香蕉| 日本nghangse中文字幕| 五月综合在线婷婷图片| www.激情| 婷色五月| 欧美丁香五月97色| 成人丁香五月婷| 婷婷激情五月天视频在线| 大地9中文在线观看免费高清| 九九热九九| 超碰色综合| 天天综合久久| 婷婷五月激情图片| 丁香五月婷婷少妇| 日本激情综合| 亚洲xx在线| 国产在线另类五月婷婷| 九九精品这里只有| 激情五月天网站| 丁香婷婷激情综合五月激情| 色婷五月天| 丁香色六月婷婷| 婷婷精品在线| 色综合激情| 91日韩在线| 99久久精| 激情综合网五月婷婷| 久久99热这里只有| 婷婷色婷婷| 亚洲激情网站无码| 精品一二三区久久AAA片| 激情五月图| 大学生高潮无套内谢视频| 色综合久久五月| 国产成人精品一区二三区熟女在线| 免费的日逼视频| 精品夜夜澡人妻无码AV| 人人色AV| 伊人天堂婷婷| 亚洲综合五月天婷婷| 亚洲AV免费国产电影| 婷婷色在线播放| 五月丁香婷婷综合久久| 婷婷五月丁香六月| 99久久a线观| 97色五月婷婷在线| 五月婷亚洲精品| 91日视频| 色色色热热热| 色青青视频| 日本丰满久久| 夜夜大香蕉婷婷丁香| 久久99综合| 国产精品99久久久久久久女警| 丁香五月婷婷激情视频播放| 午夜在线成人网站免费观看| 99热这里只有精品99| 妇激情基地| 国产精品日本一区二区在线播放| 天天拍久久| 91精品啪| www.操.com| 99热精品一| 手机旧版看人妻1025| 天天爱天天爽| 综合激情深爱| 婷婷射丁香| 777影视理论片大全在线观看| 九九无码视屏| 六月婷婷av| 爱久久小说下载网| 丁香五月五月婷婷| 色五月丁香六月资源站| 色99综合色88| 青青草tp| 人人干Av| 婷婷精品在线| 亚洲中字AV电影在线网站| 狠狠操狠狠插| 欧洲亚洲免费视频9| 97性高潮久久久| 激情美女五月天| 综合99在线| 能看的av| 色综合天天综合成人网| 这里只有精品视频国产| 丁香综合久久| 婷婷五月天福利| 九九热这里只有精品6| 欧美狠狠一在草| 久热伊人在91| 99视频内射三四| 色五月欧美| 五月丁香婷婷无码A∨| 丁香花成人区| 少妇性按摩无码中文A片| 超碰99热精品| 激情黄色小说五月天| 日本啪啪网| 亚洲精品第一国产综合亚AV | 永久地址 色| 91狠狠综合久久久| 五月婷婷性爱视频| 99精品成人无码A片观看金桔| 丁香五月婷婷基地| 色综合久久88色综合中文字幕| 五月丁香操婷逼| www99精品亚| 色色热| 91碰| 思思热视频| 99在线视频在线观看| 丁香五月影院| 色婷婷啪啪啪啪啪啪| 亚洲日比视频| 婷婷色婷婷| 久久婷婷啪啪视频| 婷婷金品综合视频| 精品久久久久久久久久久久人妻| 九九人人操| 久久天堂| 888久久久| 色九四色| 在线看的免费网站| 亚洲综合激情五月久久| 九九精品综合| 婷婷五月天综合在线| 狠狠色 综合色区| 亚洲色欲欧美一区二区三区| 啪啪啪综合网| 无码人妻激情| 久久99精品久久久久子伦| 五月天综合色| 久久电影五月天丁香电影| AA片在线观看视频在线播放| 激情四射五月天| 五月天另类视频| 中文字幕av在线| 大香蕉99| 狼人狠狠操| 婷婷97碰碰| 色激情五月| 五月激情天| 国产亚洲精品久久一区二区三区| 亚洲第一第二网站| 五月婷婷丁香在线| 天堂草在线看www| 五月婷婷六月丁香在线视频| 涩涩激情五月婷婷| 九月丁香婷婷基地| 婷婷五月天桃花网| 婷婷五月天99综合网站| 1024操逼| 日本综合99| 91干网站| 色婷婷四虎| 色五月色五天色情网址| 五月天婷婷丁香人人操91| 啪啪色激情五月天| 99热精品超碰| 国产成人AV在线播放| 伊人网碰碰| 九月丁香| 成人必爱视| www.日韩艹| 五月天六月婷婷电影| 九九色综合九九色| www.夜夜操| 久久98| 五月婷婷深深爱| 懂色av粉嫩av蜜臀av| 天天操天天插天天射| 亚洲自拍天堂| 久久人人看| 99这里只有免费的精品| 99综合99| 丁香五月电影| 色三级色三级| 亚洲午夜av| 91日在线视频| 亚洲操B视频| 草草视频91| 丁香五月激情综合网激情五月| 激情网婷婷婷| 天堂综合久| 日韩操人| 强奸幻女毛片| 99自拍网| 五月婷深深爱激情网| 五月天播播中文字幕 | 五月婷婷色播| bbwcuckold精品熟妇| 五月天成人在线播放丁香| 天天干,夜夜爽| 天天爱天天爽| 久久久日韩特色特黄AAAA| 五月天成人综合| 狠狠人妻久久久久久综合丁香| 婷婷瑟瑟五月天| 丁香五月色情| 久热久69| AV在线观看网站| 狠狠操天天日| 婷婷五月丁香啪啪| 免费视频在线观看的网站| 色五月天丁香婷婷色| 快乐婷婷五月天| 色色色色五月| 91性高潮久久久久久久久| 久久蜜臀婷婷| 激情综合5月| 婷婷免费视频| 精品无码久久久久久久久| 狠狠色九月| 99热这是里只有精品| 亚美欧色影院| 91在线视频综合| 亚洲舔观看| 99在线视频资源| 国产精产国品一二三在观看 | 中国AV性爱观看| 日韩 中文 欧美| 中文字幕无码AV| 色婷婷婷婷| 91精品综合久久久久久五月丁香| 夜夜骑夜夜操| 伊人久久中文网| 婷婷色播六月无码| 97人人操人人| 日韩成人影片在线观看| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 性色播| 婷婷99狠狠| 色色五月婷婷网| 影音先锋色色色资源色资源色| 26UUU精品一区二区| 成人做爰黄A片免费看直播室男男| av色婷婷| 丁香五月婷婷在线| 丁香花大香蕉婷婷综合| 五月天激日本色情在线| 99热在线精品播放| 国产中文字幕在线视频免费观看 | 强壮公让我夜夜高潮A片视频| av色婷婷| 天天干,夜夜爽| 激情玖玖综合网| 六月天无码网址| 97色色视频| 九九热a| 97婷婷狠狠| 九热电影av| 五月婷婷中文字幕| 九色视频九色九色91jiuseshipin| 亚洲天堂亚洲色色色| 色色色色色色色色网站| 99精品在线观看视频| www.五月丁香| 热久久这里只有三级视频| 丁香五月色情| 中文中文在线| jiujiu无码五区| 91Chinese在线| 四色综合网| 日日天天干| 欧美日韩91| 日本三级黄色大片| 久久人人超| 99热9999| 五月丁香六月婷婷啪啪| 26UUU欧美激情一区二区| 亚洲AV无码影院| 欧美激情VA永久在线播放| 色色丁香五月天社区| 五月丁香免费看| 欧美久人人| 五月天激情小说网| 亚洲成人中心| 久久色天堂| 一级性感黄色内射视频| 成片免费播放| 久久这里精彩免费在线观看| 六月激情婷婷| 五月激情婷婷丁香| 五月天狠狠网站| 五月丁香婷婷综合| 婷婷五月激情片| 67194线路二在线观看|