国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(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ī)專業(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依賴庫(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建模覆蓋用戶/圖書(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%的翻車點(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)景也是老師最愛(à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)類型錯(cuò)誤二是db.commit()必須在try塊內(nèi)且不能放在cursor.execute()之后立刻調(diào)用——得等所有SQL都執(zhí)行完再統(tǒng)一提交三是異常捕獲用Exception而非具體異常類因?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ū)列表、用戶信息、借閱狀態(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)到“如何防止用戶偽造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這行讓查詢結(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)是“管理員和普通用戶不能混用同一套接口”。這個(gè)項(xiàng)目用單獨(dú)的admin.py文件實(shí)現(xiàn)了管理員專屬路由/admin/users查看所有用戶、/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)表查詢而不是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ò)所有花里胡哨的依賴管理直奔主題。3.1 第一步安裝并啟動(dòng)MySQL服務(wù)課設(shè)最常翻車的環(huán)節(jié)不是代碼而是數(shù)據(jù)庫(kù)沒(méi)起來(lái)。先確認(rèn)MySQL已安裝并正在運(yùn)行Windows用戶打開(kāi)“服務(wù)”管理器services.msc找到MySQL80或MySQL57右鍵“啟動(dòng)”Mac用戶終端執(zhí)行brew services start mysql如果用Homebrew安裝或打開(kāi)MySQL官方安裝包里的偏好設(shè)置面板Linux用戶sudo systemctl start mysqld。然后驗(yàn)證是否能連終端輸入mysql -u root -p回車后輸入密碼默認(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依賴并啟動(dòng)Flask服務(wù)項(xiàng)目只依賴兩個(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用戶把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è)用戶并添加測(cè)試圖書(shū)首次訪問(wèn)首頁(yè)會(huì)跳轉(zhuǎn)到登錄頁(yè)。先注冊(cè)一個(gè)普通用戶點(diǎn)“注冊(cè)”填用戶名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è)高頻翻車點(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)“用戶管理”報(bào)500錯(cuò)誤日志顯示pymysql.err.OperationalError: (1054, Unknown column u.role in field list)原因user表結(jié)構(gòu)變更了但admin.py里的SQL查詢還引用舊字段。比如你給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裝到用戶目錄但機(jī)房可能禁用了用戶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è)“逾期提醒”功能從需求到上線只需30分鐘課設(shè)答辯時(shí)老師最愛(ài)問(wèn)“如果要加一個(gè)XX功能你怎么實(shí)現(xiàn)”這時(shí)候千萬(wàn)別說(shuō)“我查查文檔”直接掏出你剛改好的代碼現(xiàn)場(chǎng)演示。下面我就以“給借閱超30天的用戶發(fā)站內(nèi)信提醒”為例帶你走一遍從分析到上線的完整鏈路——所有改動(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條件不滿足證明標(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í)查詢還是緩存結(jié)果答案清楚了代碼自然就出來(lái)了。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲淫色网中文| 51一区二区三区| 疯操AV| 插欧洲美女欧美精品| 美女久久久久久久| 日韩熟女三十乱伦| 自拍偷拍2025在线观看| 精品人妻一区二区三区日产乱码| 精品97精品97| 国产免费一区二区在线A片视频| 欧美日韩制服| 天天色香欲综合网| 精品综合久久久久久97| 男人的天堂.com| 国产丝袜视频| 污色区网站| 久久久亚洲精品电影免费看| 青草香蕉网| 伊人五月天婷婷| 啊啊啊轻点在线观看| 色播丁香| 老熟女乱子伦中文字幕一区二区| 日日干夜夜欢| 91亚洲影院综合| 特级丰满少妇一级AAAA爱毛片| 曰韩少妇无码| 久久久久96| 无套内射性感少妇视频| 静品嫩模一区二区| 人、人、摸,人、人、草| 天天激情综合站| 久草午夜| 台湾成人无码AV| 91精品国产91综合久久蜜臀| 久久粉色| 日本不卡一区二区| 国产精品无码成人精品| 久久久免费高清中文视频| 亚洲脚交| 日本乱人伦片中文三区| 日本黄色大片一级视频免费麻豆| 91日日| 密乳无码| 精品日韩人妻精品一二三区| 一区二区三区在线美女| 91日本在线观看| h无码动漫在线观看| 人人贴人人摸| 久久极品一区二区| 青青操少妇| 久噜噜| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 97超碰9| 久草加勒比一区在线| 久热大香蕉网站| 国产精品午夜福利视频| 97操| 伦理片秋霞免费影院| AV中文在线可看| 精品九九九九九九九| 国产精品乱码久久久、久久| 视频国产成人精品日本亚洲18| 九九九精品成人免费视频小说| 草草影院最新网址| 亚洲.欧美.丝袜.中文.综合| 日韩精品人妻中文字有码在线| 日韩精品午夜操呦呦不卡影院| 97视频免费播放| 免费?级毛片无码?∨蜜芽试看| 99视频内射三四| 熟女天天干| 久草在| 91艹B视频| 91精品国产长腿丝袜美女| 五月丁香社区婷婷日韩欧美精品影院 | GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 性爱久久| 91中出| 97超碰资源网| 欧美刺激色黄片免费看| 東南亚性呦成人伦理资源在线视频| 深爱五月婷婷| 人人艹亚洲| 夜草网站| 思思在线免费视频| 一区二区视频你懂的| 久插综合| 伊人久久大香大香线蕉中文| 9/A片| 操逼逼一区视频| 一二三四视频中文字幕在线看| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 强奸熟女一区二区三区| 久久久久夜夜夜夜| 丁香六月婷婷久久综合| 欧美色图亚洲色图成人在在线| 女生看匆91网站| 亚卅熟女乱色| 九九九九热| 亚洲城人男人的天堂| 丝袜人妻av一区二区| http://qxhbdz.com| 好吊色综合| 肉丝网站91| 成人AV超碰免费在线| 欧亚第一综合网| 中文字幕精品日韩中文字幕| 亚洲人精品久久久| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 婷婷三区| 日本黄 R色 成 人网站| 91精品无码久久久久久久| 天天热精品| 97资源超碰| 老司机老司机午夜影院| 9色国产精品一区粉嫩| 劲爆欧美人妖三区91| 五月激情小说| 日韩一级成人毛片免费观看| 你懂的在线观看区国产| 97久久超碰| 免费网站观看www在线观| 破苞ⅩXXX性无码动漫无码| 九九碰九九爱97超| 老女人碰碰在线碰碰视频| 色婷婷导航| 无遮挡一级毛片视频免费的| 久久综合av| 狠狠躁AV| 深夜操逼网| 97人人操人人摸人人爱| 国产品精品自在在线午夜免费| 色www精品视频在线观看| 国产欧美一区激情交| 在线观看岛国有码| 天天看片麻豆| 在线视频五十市| 欧美国产视频| 看黑人AV不卡| 日本天天吊| 殴美牲| 影音先锋每日最新资源在线观看| 91小视频| 极品极品色影院| 色官网色综合| 强奸乱伦av电影| aaaa黄片| 十八禁视频网站| 干婷婷综合网| 欧美淫穴| 日韩在线人妻网站| 午夜精品久久久久久久99热影院| 97色色色综合网站| 久久久不能久久久久| 白丝1区2区3区| 欧美美女在线高潮999| 日韩人体偷拍| 懂色AV中文| 中国小夫妻勾搭露脸淫荡对白| 亚洲有码 视频一区| 97色插| 国产成人亚洲精品自产在线| 亚洲宗合电影| 色悠久久久av| 97超碰美女| 尹人免费观看视频在线| 日本二三四区| 久操免费观看| 成人久久久精品| 久久综合超碰| 久久久999网站| 志村玲子视频一区二区| 日本三级A片网站com| 另类图片天天影视| 欧美综合1性辶| 欧美色吧综合| 日本道人妻久久久在线不卡色视频| 色婷婷A V一二三四区麻豆综合| 久久99草| 亚洲天天精品| 啊啊啊好舒服视频| 久久久一区二区三区四区五区| 天天日天天干少妇日| 久久久久久九九九九九| 在线人成亚洲视频免费观看| 国产精品com| 久久久97| 久久久夜夜嗨免费视频| 无码国产Av| 人妻日日干| 五月婷婷无码| 久色99999| 国产AV人人夜夜澡人人爽麻豆| 天天爱综合网| 国产日韩精品suv| 深夜福利黄片| 欧美性爱在线无码| 精品十三区| 欧洲人妻视频| 国产第25页在线观看| 在线 制服丝袜中出 人妻| 久久一二区四| 精品中文一区二区| 日韩操啪| 97国产色综合| 婷婷91| 操逼网站视频漫画国产| 男人天堂综合| 人人搞人人插人人操| 狼人久草| 欧美激情一| 久久成年片色大黄全免费网站| 牛黄色久午久| 久久久久ab| 91色拍| 欧美男人一区| 91青青| 无遮挡h肉动漫在线观看| 国产超碰在线一区| 欧美精品精品一区二区| 天天日老熟妇| 久久精品一区二区三区四区五区| 这里只有精品视频在线| 78m啪啪啪| 国产亚州高清国产拍精| 亚洲欧美综合区自拍另类| 久久a久久| JuliaAnnXXX888| 无套内射性感少妇视频| 手机在线大香蕉| 久久久久国产一区二| 国产精品。| 国产精品久久久久久久久久久久| 五月丁香| 亚洲图片91| 日本精品一区三区| 26uuu偷拍亚洲欧洲综合| 欧美色日| 亚洲不卡AV在线| A级在线视频| 亚州乱码中文字幕综合久久久| 亚洲色欲天天天堂色欲网女| 超碰97欧美日韩| 深爱五月天| www.91人妻.com| 青青草无码视频| 欧美1区二区三区公司 | 欧美最大综合网| 色综合色综合网| 欧美一区二区三区不卡高清视频| 熟啊v色欧美热| 国产成人免费观看在线视频| 亚洲男人久久综合天堂| 快播电影网日韩新片| 精品久一区免费| 亚洲午夜AV| 91伊人久| 一区二区三区美女超清| 偷拍亚洲情色| 啊啊啊啊啊啊啊在线| 欧美久热| 亚欧日韩成人| 亚洲成人在线高清| 精品视频久久久久九九九九9999 | 91干熟女| 韩国午夜理伦三级好看| 强奸乱伦AV一天堂网| 日韩AV噜噜噜一区二区三区四区| 日韩影片中文字幕一区二区三区| 水澄无码AV| 五月天婷婷久久| 一区二区精品日韩欧美在线观看| 欧美一区二区男人天堂| 少妇久久| 九九热九九| 啊啊啊啊嗯嗯在线久久久| 国产成人精品一区| 人妻五十路在线| 91成人社区| 久草男人天堂| 欲射影视| 蜜臀网址在线| www.久久99| 欧美日韩操逼动图| 囯产操逼片| 最新国产精品久久精品| 久久久久9| 亚洲综合激情五月久久| 十八禁网站在线| 一二三四日本视频高清| 嗯嗯,啊啊,国产精品| 99热色这里只有精品| 亚洲欧美一区二区三区在钱蜜桃| 97色色色综合网站| 亚洲天堂久| 91成人18| 天天操天天舔| 99久久无色码| 97爱啪| 东京热av影院| aa片毛片| 亚洲 欧美 手机在线观看| 成人5码视频| 99精品在线| 97久精品| 99视频精品| 精品久久一区二区三区四区五区| 超碰久久精品| 美女操逼A A| 翔田千里av一区二区三区| 丝袜性亚洲| 97精品一区二区视频在线观看| 熟女人妻精品一区二区视频 | 日本一区视频在线观看| 日本在线视频导航| 97伪v| 国产又黄又粗又猛大片| 探花激情视频| 国产99999久久精品| 少妇一级无码精品| 欧美日韩国产传媒在线精品| 日韩欧美麻豆| 色五月婷婷色| 亚洲色婷婷综合久久一区二区三区| 日韩一区二区熟女| 亚春色色| 狠狠狠狠狠干| 四虎精品一区二区| 免费夜夜爱黄色视频毛片| 尤物视频新赏网鲜网色诱网| 黄色性爱网网| 热G综合热G中文| 日韩激情中文字幕有码| 久久人爽| 极品极品色影院| 97人人爱人人乐| 国产精品自在线发布| 国产天美传媒精品| 日本免费专区| 久久久无码精品人妻二区| 亚洲经典啪啪| 久久免费9| 久久大香蕉手机高清| 日本色日夜干| 日韩av色图| 大屁股熟女一区二区三区| 日韩无码视频黄色| 日韩精品系列| 狠狠久久亚洲欧美专区| 亚洲色图A| 97五月天| 中文精品一区二去| 亚洲激情在线| 国产怡红院| 亚洲精品无码久久AV| 天天激色| 超碰精品| 五月天婷婷色色| 麻豆三极片| 久久久久无码一妻区| 九月丁香综合网| 男人的天堂三级| 资源在线观一 二| 国产精品美女久久久久久网站| 青青草色情网站视频| 国产白嫩漂亮KTV在线| 超碰99re| 大香蕉一线视频| 亚洲激情综合另类| 国产精品97超碰| 欧美熟妇视频 | 日韩免费在线观看不卡| 91丰满| 60秒免费视频| 日本999精品视频| 99亚洲天堂| 在线播放免费av福利片| 校园春色亚洲| 人人妻人人爽| 国产精品久久泡妞网站| 亚州欧美在线| 日韩97P| 本道综合精品| 色黄色美女大长腿午夜视频| 色噜噜精品一区二区三| 欧美,日韩综合久久| 91在线精品| 午夜福利成人免费视频| 看日韩操逼| 99久久久无码国产精品性男| 国产67194| 十八禁电影伊人网| 美女91色黄18| 亚洲综合另类色图| 亚洲午夜精品久久久中文影院| 高清不卡 中文 人妻| 职场同事知名国产国产精品久久欧美日韩 | 国产AV毛片| 人人摸人人添人人操| 久久久久久亚洲Av无码| 人人操我人人干| 蜜臀无码视频在线观看| 韩国手机不卡无码三级视频| 中国亚洲呦女专区| 中文字幕第页| 久久久久久少妇| 久久AV色| 亚洲欧洲小说图片视频 | 久操av在线| 国产一区在线观看无码AV| 日韩AV一区二区三区三州三州| 成人性爱电影网| 中文字幕人乱码中文字的预防方法 | 大学生口爆吞精| 91色综合激情| 亚洲阿v天堂无码z2018| 97天天弄| 加勒比久久综合网高清| 亚洲 欧美 综合 91| 麻花豆传媒剧国产MV出差| 激情综合av| aa片毛片| 欧美曰韩国产精品| 国产精品亚洲一级av第二区| 人妻少妇久久| 亚洲精品久| 天天综合网~91| 精品无码一区二区| 国产一进一出视频网站| 久久超碰av在线| 欧美v亚洲v日韩v最新在线二区 | 立川理惠无码一区二区| 欧洲一区二区| 欧美亚洲综合色| 欧美Ⅴ性爱| 青青伊人久久| 99热思思| 久久在线观看免费视频| 丁香婷婷激情五月天无毒不卡| 日韩欧美tv一区二区在线观看| 欧美在线视频观看一二三四区高清| 天天视频综合在线观看视频| 欧美激情精品久久久久久| 殴美,日韩国产伦精品| 中文?日韩?免费?精品| 国产av热热色| 超碰精品在线| 久久久国产av美女私房| 国产精品第二页| 日韩无码三级影院| 天天日天天干天天摸天天操| 色噜噜狠狠色综无码久久合欧美| 国产亚洲精品一区二区三区| 国产精品丝袜久久亚洲不卡| www.激情| 成人精品久久久午夜福利| 都市激情人妻一区二区青青操视频| HEYZO高无码国产精品227| 天天欧美| 伊人青青草久久| 91精品久久久久久77777| 欧美大波激情xxxx| 亚春色色| 欧美日动态视频| 亚洲男人天堂2019| 日韩欧美偷拍美女视频| 99久热| 操婢日韩| 3PAV乱伦视频| 99热婷婷一区二区三| 亚洲 欧美 小说| 国产一级片| 国产女人和拘做爰视频 | 欧美制服网站美腿丝袜| 日本在线激情一区二区三区| 最新国内自拍av免费| 校园春色AV天堂| 亚洲国产丝袜在线观看| 欧美性爱一内片一区二区三区| 人人操人人狠狠操| 操高情无码| 欧洲性爱无码区| 91色夜| 久久久精品一区二区| 97青娱乐超碰久久| 综合影院亚洲| 久操97| 试看日韩黄片| 亚洲av影院在线观看| 日韩BBN| 97色五月天完| 午夜精品人妻二区三区| 97精品一二区| 嗯嗯嗯不要不要免费视频| 久热大香蕉网站| 亚州性色| 人干人人人操人人摸| 国产亚洲在线观看| 色大香蕉97N| 精品一区二区三区蜜桃| 蜜桃视频成a人v在线| 欧美极品少妇| 丰满人妻aA一区二区三区| 黑丝自慰喷水网站| 欧美色综合网| 屁屁影院一区二区三区国产| 哑洲在线| 免费一级视频特黄色大片| 国产亚洲性生活视频播放| 97综合久久| 欧美AB在线| 久久69| 97碰碰色| 亚洲一区二区三区在线激情| 一起草三级AV电影在线观看| 天天干人人看综合| 午夜舔阴达高潮视频免费看| 无码精品久久| 天天色黄色影院天天操| 丁香六月激情| 国产一区在线免费播放| 十八禁视频网站| 国产中文字幕曰本毛片| 中文字幕在线观看二区三区| 日本一级性爱| 夜夜操天| 天天香香欲综合| 丁香婷婷激情五月天无毒不卡| 欧美色天堂网在线视频| 亚洲男人的天堂网| 日本ZZ高免费A级视频| 色www精品视频在线观看| 亚洲 欧美 综合 91| 亚欧美色图| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 男人女人18禁片免费看网站| 国产成人自拍视频视频| 亚洲色图第四色| 国产夫妻性生活视频| 国产精品丝袜在线| 一级性爱视频免费在线| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 国产又黄又爽又刺激久久久久久| 日va操| 99久久99久久综合| 中文字幕 一区二区 亚洲无码| 大香蕉99热| 久久婷婷一区| 岛国黄片网站| 丁香婷婷九月| 裸模AV女优| 99草精| 日韩综合无码一区久久92| 欧美性爱日韩性爱| 人妻嗯啊啊在线播放| 国产精品久久久久久久久久久久久久久久久久 | 欧美碰碰综合色| 精品国产91内射久久| 操逼日韩无码| 久久国产对白激情浪潮 | 97天天爽| 人妻熟女一区二区| 国产女人视频三四五区| 另类 日韩 熟女| 无码伊人久久大杳蕉中文无码| 亚洲五月丁香花狠狠干一区二区三区| 久草热制服丝袜在线观看| 日韩99999| 亚洲一卡2卡3卡4卡乱码网站| 久久超碰久| 日韩欧美蜜桃精品久久中文字幕久久| 呦呦影院| 亚洲激情久久| 色97国产69香蕉| 97超碰护士| 破苞ⅩXXX性无码动漫无码| 中文字幕在在线观看网站| 亚洲久草AV色图| 无码最新| 97青娱乐超碰久久| 国产精品com| 亚洲福利中文字幕在线| 2017超碰| 日韩欧美tv一区二区在线观看| 男人天堂.AB| 人人妻人人爽一区二区三区| 成年人一级黄色毛片大全在线观看| 日韩一级二级在线| 日本不卡五区| 丁香五月婷婷基地| 春色91| 欧美日韩第一页| 亚洲中文字幕一区| 无码精品人妻一区二区三区妖精| 天美精品一区二区三区四区在线观看| 9色国产精品一区粉嫩| 青草av在线| 97天天在线| 中文精品一区二去| 一区二区三区成人| 久操网视频| 抽插爽| 影视综合无码少妇| 日韩精品9999| 岛国片国产成人亚洲播放| 国产美女口爆吞精| 成人精品一区二区91毛片不卡 | 黄片www视频免费| 91 亚洲 欧洲| 97在线日韩中文字幕| 在线观看日韩av不卡| 夜夜嗨免费视频| 在线人人人人人人精品超| 青青久久久| 影音先锋国产精品| 久热伊人| 色五月综合| 舔人妻中文免费视频| 超碰av在线| 欧美日韩在线小说 | 麻豆国产第一| 自拍鲍鱼一区在线高清观看免费| 亚洲综合20p| 麻豆一区二区三区精品| 桃花色涩综合影院| 亚洲国产一级黄色视频| 色色青青久久| 欧美视频在线视频免费va| 男同专区一区二区三区在线| 九九九九88| 欧美一区二区三区另类精品| 一级免费精品| 东北夫妻性偷拍| 国产一区二区三区免费视频在性观看| 欧美天天综合站| 色色综合网站| 97在线免费视频观看| 欧美性爱一内片一区二区三区| 人人艹亚洲| 香蕉精品二区二区| 成人色女网| 欧美网站免费| 日韩无码人妻| 加勒比综合a∨| 丰满人妻一区二区三区免费,| 色欲三区| 97手机日韩| 在线色资源| 黑丝日韩av丝袜av| 九色97| 探花激情视频| 福利操逼| av一区二区三区不卡| 78m成人视线| 精品久久艹| 久久精品视频在线观看| 精品久久久av| 免费视频无码| 国产高潮AA片免费看| 成人七区| 日本1区2区不卡视频| 麻豆久久一区二区三区| 欧洲亚洲人妻无码高清久久三区四区| 日本好吊色视频| 久久鲁夜| 欧美少妇第一页| 欧美嗯啊……在线观看视频免费| 丁香五月天堂网| 日韩人成网站在线播放| 93人人操人人| 欧美,日韩综合久久| 久久亚州精品成人Av无| 日韩三级在线观看网站| 九九九久久久| 天天躁日日躁狠狠躁| 九九九九AV| 99999国产| 黄页网站成人免费| 成人开心网在线视频| 人妻熟女一区二区| 欲女人妻性色av| 97超碰超欧美。| 久久久久久久六六 | 一区二区三区在线资源| 91国产精品在线看| 欧美夜夜狠| 人妻天天夜夜爽一区二区| 亚洲第一页色| 熟妇高潮一区二区免费视频| www.操| 日韩 欧美 校园一区| 草久久久| 久久 久久国内精品亚洲| 加勒比综合a∨| 好一吊区二区| 国产精品另类| 91精品91久久久久77777俄罗斯老妇姓x| 日韩性色| 女性喷水高潮在线观看| 久久久精品电影| 色综合天天| 亚洲图片偷拍视频区| 丁香五月色| 伊人网av| 国产熟女一区二区丰满| 一本久久精品中文字| 久久久久婷婷精品av电影| 人妻另类| 91精品人| 亚洲91在线播放影院| 婷婷亚洲五月***久久| 婷婷中文字幕| 有码免费观看| 啊啊啊要高潮了| 大香蕉99re| 国产午夜在线观看| 逼操网站| 丁香五月天啪啪| 日本中文字幕高跟| 精品一区二区久久| 91老熟女| 日韩精品黄片免费观看| 欧美国产日韩清纯唯美| 91久久久视| 男人天堂导航| 午夜福利1区2区3区| 天天天天天天天天天天干美女| 色五月婷婷网| 97伪v| 麻豆成人影音在线| 日韩精品国产一区二区| 五月丁香狠狠爱| 一区二区 电影 亚洲| av橘色网站| 国产精品高清2021在线| 去干网最新版| 四虎视频在线观看| 97神马久久| www.伪伪| 99热亚洲天堂| 久艹视频在线| 69少妇一区二区| 黑丝少妇在线观看| 蜜桃狠狠色伊人亚洲综合| 五月天亚洲色图| 丰满人妻无码一区二区三区| 麻豆60秒| www.久久超碰| 无套内射人妻在线播放| 97WW精品| 蜜桃AV天堂| 亚洲国产欧美另类自拍| 久久免费中文字幕在线观看| 免费视频观看60秒| 亚洲欧美在线观看免费| 欧美第38页| 久久人| 91精品久久久久久77777| 97AV在线免费观看| 五月天我淫我色av| 日韩另类色图| 另类小说欧美激情校园春色| 国产色呦呦| 无码久| 国产中文字幕在线点播| 五月天黄色av| 精品一区二区三区麻豆| 女人高潮大叫一级毛片| 久久6热精品99视频| 精品国产无码中文| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 色吧5亚洲| www.欧精品| 欧美91变态| 啊啊啊操一区| 精品传媒在线一区| 久久激情网| 中文字幕av片| 一级特级aaaa毛片免费观看| 97资源免费视频| 一区操逼| 男人的天堂在线| 久久久久亚洲?V片无码V| 亚州综合色图| 成年女人黄网站| 学生妹天天看| 一区二区三区精品久久| 97国产精品在线观看| 女人高潮抽搐喷水视频网站| 久久精品噜噜噜成人看免欧美大片| 日韩不卡a级视频专区| 超碰一区二区| 操逼逼无码| 天天夜夜rb| 五月丁香激情综合| 另类图片综合| 天天综合欧美综合| 亚洲精品性爱片| 久久综合久色欧美综合狠狠| AV无码久久久精品| 欧美日韩妖精91com| 亚洲色色色| 日韩肏逼视频| 艳尻美人妻| 色成人Www精品永久观看| 久男人久久| 亚洲欧洲综合视频在线| 91老司机在线| 干b在线性社区| 国产区91柔拿会所技师| 91欧美少妇| 97精品国产97久久久久久| J?P?NESEHD熟女熟妇伦| 精品一区二区三区四区外站| 大香蕉免费乱伦视频| 天天干人人乐| 爱欲AV| 中文字幕交换人妻| 78精品在线| 人人爽夜夜操| AV无码久久久精品| 日日操夜夜操天天操免费观看麻豆| 精品久久久久9999| 欧美强奸乱能| 天天日夜干| 极品后入免费视频| a在线视频免费观看| 91w欧美| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 国产欧美日韩在线观看麻豆传媒公司| 人人操人人摸avav| 国产AV人人夜夜澡人人爽麻豆| 色色亚洲| 欧美一级黄片视频在线| 少妇天堂| 蜜桃久久久久久久久久久久| 香蕉久久国产AV一区二区| a片在线播放| 中文字幕免费在线观看| 午夜成人福利影视| 强免费黄色网址| 午夜福利国产欧美日韩夜夜| 97chaopenrihan| 日韩熟女精品无码专区一区二区| 精品国产乱码久久久久久口爆网站| 午夜超碰| 精品大全99999| 绑缚麻绳人妻寝取完整版| 婷婷六月色| 超碰成人最新最好看| 91操熟女| 久久精品超碰| 锕锕好爽 死我在线观看| 大香蕉伊人网WWWn0n| 精品久久人妻成人网| 操逼免费视频无码国产| 国产深夜福利| 老司机香蕉| 亚洲色图第四色| 亚洲综合影片| 伊人影院中文字幕| 久久9视频| 大香网站| 五月婷网站| 欧州一区二区三区四区| 97色综合中文网| 97操97干| 久久噜噜噜精品国产亚洲综合| 亚洲欧美另类少妇精品| 国产亚洲 中文欧美久久| 久热伊人| 操逼日韩无码 | 中文字幕天堂在线| 一起草在线视频| 国产日韩怡红院| 国产精品白丝AV| 2020中文字幕在线| wuyechaopeng| jiujiujiujingpin| 9久精品视频在线观看| 97色诱| 亚洲欧洲精品成人| 五月天伊人| 久久欧洲| 欧美视频第二页| 丰满搜索结果 -第18页- 久久高清无码| Av色五月| 99re3这里只有精品| 97色在线观看| 午夜呻吟欧美| 伊人成人情色综合| 亚州乱码中文字幕综合久久久| 日本一二区免费| 欧美日韩免费专区在线| 国产精品久久久久久夜夜夜| 少妇被玩视频二三区| 亚洲熟妇丝袜在线观看| 欧美性爱一内片一区二区三区| www.操| 天天享受天天看| 1二区9| 曰韩香蕉97| 丝袜视频网国产90| 天美麻豆一区二区三区| 啊啊嗯嗯好爽| 视频一区二区免费在线| 91性高朝久久久久久久久| 18啪啪手机免费性爱| 精品人妻av在线播放| 亚洲av淫乱| 九九aV| 亚洲日韩AV视色| 亚洲欧美九九九| 九九国产| 人妻熟女一区二区三区视频| 九色黄站| 久久久亚洲Av| 日本在线视频导航| 亚州色图第三区| 日日干夜夜操视频h| 日韩精品国模| 日逼97| 免费视频在线一区二区不卡| 99精品视频在线观看免费| 免费看日本操逼视频| 色穴精品| 青青草狠狠撸| 五月情色天| 亚洲 欧美 制服 另类 自拍| 黄色视频特级毛片| 欧美天天插| 中文幕97| 综合五月天| 国产亚洲精品一区二区三区| 久操网线| 一区二区 韩日AV| 好看的91视频| 欧美淫乱视频| 久久的免费性爱视频| 免费作爱一级视频| 欧美不卡在线美女| 久久综合久色欧美综合狠狠 | 亚洲高清综合网| 欧美 日韩 亚洲 春色| 伊人久久婷婷| 国产五码丝袜屁眼| 欧美一级二级三级| 亚洲国产成人福利在线观看| 1024香蕉视频| 蜜桃精品一区二区三区久在线| 精品久久久久久久| 国产大学生口爆吞精合集| 欧美|91色综合| 人妻激情在线视频| 狠狠操狠狠操操| 高清在线偷拍自拍视频| 五月天久久婷婷亚洲| 欧美激情区| 久草免费在线一区二区| AV天堂电影网| www.男人的天堂| 狠狠色噜噜狠狠狠狠狠色综合久久| 九九视品黄色| 91蜜臀人妻中文字幕在线| 亚洲av国产av综合av卡| 大奶啊啊好爽| 欧成人在线| 国产精品一二三在线看| 久久成年精品| 一起草高清无码| 99热这里只有精品9| 九一性生活免费视频| AV麻豆免费一区| 欧美躁死她一区二区| 日韩青久久| 日韩欧美国产一区二区三区四区| 日本不卡卡一区| 酒色综合网| 五月婷婷激情网| 麻豆a'v电影| 人人妻人射| 性色av一区二区| 婷婷av在线中文字幕| 久久婷婷国产一区二区色| 久久久555| 超碰人人在线| 91操熟女视频| 亚洲精品美女久久久久久久久| 国产日韩欧美| 95自拍视频在线观看| 天天做天天爱天天爽AV| 国产亚洲色婷婷久久99精品91 - 百度 | 天天cao在线| 激情综合五月丁香| 91大香蕉伊人| 欧美色综合影院| com 首页 18岁 禁区 女优 免费 精选 同城| 国产欧美精选激情视频| 自拍二页| 欧美日韩国产另类综合| 嗯嗯,好大,好爽,好骚 | 女人综合网| 国模限制级电影| 国产在线播放成人免费| 啊啊啊com| 青娱乐国产剧情av一区| 江都AV在线| 国产午夜福利专区综合| 屌妞视频久久久久久久久久久久| 黄片免费视频2019| 好看的久久不射无码影视影院| 中文字幕国产| 欧美一区二区三区成人性生活| 日韩探花精品在线视频| 91精品婷婷国产综合久久| www色色色com| 欧亚日韩中文在线| 91丝袜在线观看视频在线观看| 一区二区三区免费视频入口 | 天天爽天天| 中文一区二区三区影院| 欧美se亚洲| 日本Xx性爱| 欧美亚洲首页| 国产精品对白内射| 2018天天干在线视频| 人人性爱视频免费| 久久精品熟妇丰满人妻99| 大香蕉2017| 2017天天插| 国产内射爽爽大片| 国产欧美在线观看免费观看| 青娱乐二区免费| 俄罗斯一区二区视频在线观看| 日韩免费在线视频观看| 国产精品一区午夜福利| 天天视频综合在线观看视频| 久久久激情| 久草资源在线视频官方总站日韩丝袜美腿 | 啊啊啊啊啊啊啊国| 欧美国产一区二区三区麻豆传媒| 天天爱综合网| 国产精品美女视频诱惑| 草草影院日本第一页| 婷婷五月av| 大香蕉一人在线| 四虎AV在线播放| 中文字幕美女91| 黄网在线播放| 国内97干免费看| 玖玖久久久| 亚洲图片欧洲图片aⅴ| 99视频内射三四| 日本九九久久99| 老女人综合网| 一区二区三区视频在线观看免费| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 五月丁香激情四射| 强奸乱伦动态污图免费| 二级久久网| 女性喷水高潮在线观看| 九月丁香| 久久超碰天天| 中文字幕日韩人妻视频一区二区三区 | 亚洲天堂人人妻| 老外又粗又长一晚做五次| 麻豆天美国美国产AV| 老熟女综合网 | 果冻传媒A片麻豆熟妇人妻| 黑丝自慰喷水网站| 欧美日韩婷婷中文| 玖玖爱在线视频免费观看| 猛交交| 大香蕉欧美| 久草精品热视| 天美传媒婬乱| 99999精品视频| 国产精品爆乳懂色蜜乳| 人妻碰碰碰碰碰碰| 超碰在线人人射| 欧美精品丝袜久久久中文字幕| 日韩三级伦理中文字幕| 蜜桃在线观看一区二区三区 | 丁香五月天久久精品视频一区二区三区| 人人摸人人入| 亚洲美女30b| AV免费在线播放一区| 97亚洲自在精品在线观看| 久热99| 欲香欲色| 韩国国产欧美情侣视频在线| 岛国黄色大片网站| 狠狠入| 亚洲人妻熟妇三十三区| 国产亚洲精品美女久久久m| 久久精品男人的天堂| 五月色综合| 亚洲色欲天天天堂色欲网女| 天天天堂影视日韩亚洲91| 开心五月激情网| 成人精品久久久午夜福利| 啊啊啊啊好疼视频| 96精品在线| 午夜福利免费福利视频| 熟妇色99| 今日头条成人一区二区三区四虎精品| 日韩精品中文字幕一| 亚洲欧美首页| 国产精品电| 91天堂视频| renqi久久久久久久久久久久| 啪啪视频亚洲第一| 人妻精品一区二区三区| 91欧美美女日韩国产婷婷| 伊人991| 精品久久久久久中文| 色香天天| 五月天亚洲网| 日韩午夜国产| 亚州操操穴网| 91色久| 人人插人人搞人人操| 免费一级a毛片久久久久久鸭绿欲| 综合久久2017| 三级色影综合网| 一本大道久| 亚洲激情深爱文学小说网站| 欧美成人色| 美日韩在线不卡人妻| 麻豆黄四叶草网站| 大香蕉综合| 密臀在线免费观看| 久久25| 久久精品视频28| 超碰中文字幕人妻草一区| 欧美激情超碰777| 麻豆性爱视频在线播放| 欧洲亚洲人妻无码中字久久三区四区 | 国产亚洲色婷婷久久99精品91 - 百度| 好涩综合| 高清国产精品福利网站| 国产精品久久久吖| 精品丝袜无码一区二区三APP| 操B视频日韩无码| 黄片com.| 色婷婷影视| 蜜桃传媒一区二区亚洲| 9 7超碰在线免费观看| 亚洲自拍一区夜夜操| 久久久久921| 97chaopengongkai| 欧美国产精品久久九九| 牛牛操视频逼| 亚洲成熟国产精品美女| 婷婷午夜| 夜夜福利| 中文字幕在线免费观看| 免费av在线播放二区| 日本精品一区二区中文字幕| 色穴精品|