免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

Flask+SQLite學生榮譽證書管理系統(tǒng):從數(shù)據(jù)庫設(shè)計到部署

Flask+SQLite學生榮譽證書管理系統(tǒng):從數(shù)據(jù)庫設(shè)計到部署 每年獎學金評定季各個學院的辦公室基本都要經(jīng)歷一場Excel表格帶來的災(zāi)難。幾百條證書記錄在多個文件里來回復制粘貼名字寫法不統(tǒng)一、發(fā)證日期格式混亂、按條件統(tǒng)計時只能靠肉眼數(shù)行數(shù)。我去年幫一個學院做了這套基于Flask的學生榮譽證書管理系統(tǒng)用Python寫成的輕量級Web應(yīng)用部署在本地就能跑徹底治好了這個老毛病。這套系統(tǒng)適合誰用高校輔導員、院系教務(wù)老師、學生工作負責人以及所有想用Flask練手做web開發(fā)的初學者。它能完成學生信息維護、榮譽證書錄入、多條件查詢、級別篩選、Excel導出、打印預(yù)覽這些核心功能。整個項目代碼量不大但一個小型管理系統(tǒng)該有的東西幾乎都覆蓋了而且完全本地部署數(shù)據(jù)不出辦公室不依賴任何外部服務(wù)。我做這類項目有一個原則先解決真實場景里的痛點再談技術(shù)選型。下面就把這套系統(tǒng)的完整實現(xiàn)思路、數(shù)據(jù)庫設(shè)計、核心代碼和部署過程中的坑都攤開來講希望你能少走彎路。1. 為什么放著現(xiàn)成系統(tǒng)不用非要自己寫一個市面上成熟的學生管理系統(tǒng)并不少但落到學院內(nèi)部管理榮譽證書這個具體場景時往往都不合適。要么是收費的商業(yè)系統(tǒng)功能大到根本用不完要么部署在云端數(shù)據(jù)安全和管理責任都說不清更多的其實是學工系統(tǒng)里附帶的一個模塊字段固定、無法自定義想按校級、省級篩選還得找開發(fā)方提需求一等就是幾個月。Excel雖然大家都在用但多人協(xié)作、數(shù)據(jù)校驗、按條件篩選這些事做起來非常痛苦。證書一多、年份一長表格就失控了。還有人把數(shù)據(jù)存在微信聊天記錄里換個人就斷檔。我的需求其實非常樸素就六條單機或局域網(wǎng)內(nèi)直接運行不要復雜的部署流程能錄學生、錄證書刪改要方便支持按姓名、學號、證書級別、年份組合查詢評獎評優(yōu)時要能快速導出名單打印證書清單時頁面要好看、格式要整齊數(shù)據(jù)不能丟備份要簡單選型時我沒怎么糾結(jié)直接定了Python Flask SQLite這套組合。原因很直接Flask足夠輕一個小項目幾十個路由寫完不需要框架替你決定代碼結(jié)構(gòu)SQLite零配置數(shù)據(jù)庫就是一個本地文件備份時直接拷貝走人。這套組合對學院級的數(shù)據(jù)量——幾千名學生、上萬條證書記錄——性能綽綽有余。我也對比過其他方案。Django功能全自帶Admin后臺和完整ORM但項目體積和學習曲線都偏重殺雞用牛刀。Node.js和PHP也能做不過對非計算機背景的維護者來說Python的語法和生態(tài)更友好后面想改需求拉個懂Python的人來也更容易。Electron桌面應(yīng)用方案我也考慮過打包體積大而且本質(zhì)還是Web技術(shù)不如直接用瀏覽器訪問來得輕量自然。這里必須說一個核心判斷這套系統(tǒng)的最終用戶大概率不是程序員。輔導員、班主任不會敲命令行也不懂環(huán)境變量怎么配。所以所有設(shè)計都要圍繞非技術(shù)用戶也能操作來展開——界面要直觀、操作要少、反饋要明確。這也直接影響了我后面寫一鍵啟動腳本、簡化部署步驟的方式。2. 數(shù)據(jù)庫怎么設(shè)計才夠用又不返工很多初學Flask的人上手就寫路由、寫頁面數(shù)據(jù)庫設(shè)計拖到最后隨便弄這是典型的本末倒置。數(shù)據(jù)庫是整個系統(tǒng)的地基字段沒想清楚后面改表結(jié)構(gòu)會讓你改到懷疑人生。我在這套系統(tǒng)上第一步就是定表結(jié)構(gòu)前后用了兩個晚上反復推演才把表設(shè)計敲定。我最后的學生表設(shè)計如下字段類型說明idINTEGER 主鍵自增IDstudent_noVARCHAR(20)學號唯一索引nameVARCHAR(50)姓名class_nameVARCHAR(50)班級majorVARCHAR(80)專業(yè)enrollment_yearINTEGER入學年份證書表設(shè)計如下字段類型說明idINTEGER 主鍵自增IDstudent_idINTEGER 外鍵關(guān)聯(lián)學生表idcert_nameVARCHAR(120)證書名稱cert_levelVARCHAR(20)級別國家級/省級/市級/校級/院級/其他issue_dateDATE發(fā)證日期issuing_unitVARCHAR(120)發(fā)證單位cert_noVARCHAR(80)證書編號remarkTEXT備注這個設(shè)計有什么講究每一點都是我實際踩過坑之后換來的。學生和證書必須拆成兩張表。這是最基本的表結(jié)構(gòu)規(guī)范化。如果為了省事全塞進一張表同一個學生有三張證書他的姓名學號就得重復三行將來改一次班級信息要同時改三行甚至更多漏改一處數(shù)據(jù)就矛盾了。拆開后學生的公共信息只存一份證書通過student_id外鍵關(guān)聯(lián)這是關(guān)系型數(shù)據(jù)庫最經(jīng)典的建模思路。學號必須唯一?,F(xiàn)實中哪怕學生重名學號也一定不同所以學號是比姓名可靠得多的身份標識。在SQLAlchemy里給student_no加uniqueTrue錄入時重復會直接報錯攔截。這個約束必須在數(shù)據(jù)庫層面做不能只靠應(yīng)用層判斷不然并發(fā)提交時很容易繞過檢查。級別字段用固定下拉框。評獎評優(yōu)時按證書級別加權(quán)計分是剛需如果允許自由填寫國家國家級國獎三種寫法都會出現(xiàn)在庫里統(tǒng)計時頭都大。我在表單里直接用下拉框限定幾個選項國家級、省級、市級、校級、院級、其他。寧可損失一點靈活性也要保住數(shù)據(jù)的干凈整齊。發(fā)證日期用DATE類型而不是字符串。SQLite對類型約束相對寬松但業(yè)務(wù)代碼里用日期類型能保證后續(xù)按年份篩選、按月排序時不翻車。前端表單用input typedate用戶直接在日歷控件里選后端統(tǒng)一格式化成標準日期字符串存儲。如果圖省事存成2024年3月這種字符串后面你想按年份分組統(tǒng)計就等著自己寫解析邏輯吧。這套設(shè)計是夠用且不返工的平衡點。我沒有做單獨的權(quán)限表因為使用場景就是辦公室局域網(wǎng)內(nèi)幾個人用信任度較高不需要角色體系。也沒有做證書圖片上傳因為打印證書清單所需的文字信息已經(jīng)全覆蓋了。如果你要把系統(tǒng)放到全校范圍用那就必須加用戶表、登錄驗證、操作日志和備份策略這是后話。3. Flask項目骨架與實踐目錄結(jié)構(gòu)、配置和啟動這一節(jié)直接給你一套我驗證過可直接復用的項目結(jié)構(gòu)照著搭就行。cert-system/ ├── app.py # Flask應(yīng)用入口所有路由 ├── models.py # SQLAlchemy模型定義 ├── requirements.txt # 依賴清單 ├── start.bat # Windows一鍵啟動腳本 ├── certs.db # SQLite數(shù)據(jù)庫文件首次運行自動生成 ├── static/ │ ├── css/ │ │ ├── style.css │ │ └── print.css │ └── js/ │ └── main.js └── templates/ ├── base.html ├── index.html ├── students.html ├── student_form.html ├── certs.html ├── cert_form.html ├── cert_detail.html └── stats.html依賴清單精簡到極致就三樣flask2.3.3 flask-sqlalchemy3.1.0 openpyxl3.1.2flask我鎖了2.3.3版本因為這是我長期使用的穩(wěn)定版本插件兼容性都已經(jīng)驗證過。openpyxl是后面Excel導出功能要用的先裝好。models.py里定義兩個模型代碼是這樣from flask_sqlalchemy import SQLAlchemy from datetime import datetime db SQLAlchemy() class Student(db.Model): __tablename__ students id db.Column(db.Integer, primary_keyTrue) student_no db.Column(db.String(20), uniqueTrue, nullableFalse, indexTrue) name db.Column(db.String(50), nullableFalse, indexTrue) class_name db.Column(db.String(50)) major db.Column(db.String(80)) enrollment_year db.Column(db.Integer) certificates db.relationship(Certificate, backrefstudent, lazydynamic) def __repr__(self): return fStudent {self.student_no} {self.name} class Certificate(db.Model): __tablename__ certificates id db.Column(db.Integer, primary_keyTrue) student_id db.Column(db.Integer, db.ForeignKey(students.id), nullableFalse, indexTrue) cert_name db.Column(db.String(120), nullableFalse) cert_level db.Column(db.String(20), nullableFalse) issue_date db.Column(db.Date) issuing_unit db.Column(db.String(120)) cert_no db.Column(db.String(80)) remark db.Column(db.Text) created_at db.Column(db.DateTime, defaultdatetime.now) def __repr__(self): return fCertificate {self.cert_name} {self.cert_level}這里有兩個容易忽略但很重要的點。一是db.relationship的backrefstudent這個反向引用讓我們能通過cert.student.name直接拿到學生的姓名省去手動join查詢。二是indexTrue加在student_no、name、student_id這些常用作查詢條件的字段上數(shù)據(jù)量上來之后查詢性能會明顯更好——幾千條數(shù)據(jù)時感覺不到區(qū)別但養(yǎng)成良好的加索引習慣對任何規(guī)模的項目都有價值。app.py入口的初始化方式from flask import Flask, render_template, request, redirect, url_for, flash, send_file from models import db, Student, Certificate import io from datetime import datetime from openpyxl import Workbook from openpyxl.styles import Font from openpyxl.utils import get_column_letter app Flask(__name__) app.config[SECRET_KEY] please-change-me-to-a-random-string app.config[SQLALCHEMY_DATABASE_URI] sqlite:///certs.db app.config[SQLALCHEMY_TRACK_MODIFICATIONS] False app.config[SQLALCHEMY_ENGINE_OPTIONS] { connect_args: {timeout: 10} } db.init_app(app) with app.app_context(): db.create_all()db.create_all()必須放在app.app_context()里這是flask-sqlalchemy 3.x的標準初始化方式。老版本可以直接在模塊級別調(diào)用新版本就必須顯式創(chuàng)建應(yīng)用上下文這是初學者最容易踩的坑——運行后一直報No such table排查半天才發(fā)現(xiàn)是因為create_all()根本沒執(zhí)行。路由的寫法遵循標準的CRUD模式。以證書錄入為例我貼一段完整代碼app.route(/certs/add, methods[GET, POST]) def add_cert(): if request.method POST: student_id request.form.get(student_id) cert_name request.form.get(cert_name) cert_level request.form.get(cert_level) issue_date_str request.form.get(issue_date) issuing_unit request.form.get(issuing_unit) cert_no request.form.get(cert_no) remark request.form.get(remark) if not student_id or not cert_name or not cert_level: flash(學生、證書名稱、級別為必填項) return redirect(url_for(add_cert)) issue_date None if issue_date_str: try: issue_date datetime.strptime(issue_date_str, %Y-%m-%d).date() except ValueError: flash(日期格式不正確) return redirect(url_for(add_cert)) cert Certificate( student_idint(student_id), cert_namecert_name, cert_levelcert_level, issue_dateissue_date, issuing_unitissuing_unit, cert_nocert_no, remarkremark ) db.session.add(cert) db.session.commit() flash(證書添加成功) return redirect(url_for(cert_list)) students Student.query.order_by(Student.student_no).all() return render_template(cert_form.html, studentsstudents)后端校驗這段一定要寫。雖然前端HTML里已經(jīng)加了required標記但后端必須再校驗一次——用戶不一定通過頁面提交直接構(gòu)造請求繞過前端校驗的事太常見了。后端校驗做得好不好直接影響數(shù)據(jù)質(zhì)量。日期處理是個隱蔽的坑。表單如果傳了空字符串datetime.strptime(, %Y-%m-%d)會直接拋異常所以我先判斷if issue_date_str再轉(zhuǎn)換。很多人一眼覺得這邏輯多余直到自己提交空日期時頁面直接500才反應(yīng)過來。這類細節(jié)就是開發(fā)經(jīng)驗值在起作用。證書列表頁的查詢我實現(xiàn)了三維度組合篩選app.route(/certs) def cert_list(): keyword request.args.get(keyword, ).strip() level request.args.get(level, ) year request.args.get(year, ) query Certificate.query.join(Student) if keyword: like f%{keyword}% query query.filter(db.or_( Student.name.like(like), Student.student_no.like(like), Certificate.cert_name.like(like) )) if level: query query.filter(Certificate.cert_level level) if year: query query.filter(db.extract(year, Certificate.issue_date) int(year)) certs query.order_by(Certificate.issue_date.desc()).all() total query.count() return render_template(certs.html, certscerts, totaltotal, keywordkeyword, levellevel, yearyear)db.or_把多個LIKE條件合并成一個邏輯或讓用戶輸入一個關(guān)鍵詞就能同時匹配學生姓名、學號或證書名稱。年份篩選用的db.extract(year, ...)是跨數(shù)據(jù)庫安全的標準寫法不要在SQLite里用字符串拼接函數(shù)來做換個數(shù)據(jù)庫就失效了。開發(fā)時我用的是VSCode Python插件配好virtualenv后F5就能啟動調(diào)試非常順手。如果你是新手建議先花半小時把VSCode的Python環(huán)境配置調(diào)好再開始動手寫代碼能省下后面大量排錯時間。4. 前端頁面骨架與體驗細節(jié)不需要前端框架也很能打這個系統(tǒng)的使用者是辦公室老師不是專業(yè)前端所以我的原則是界面簡單、反饋清晰、操作最少。我選了Bootstrap 5的CDN來搭頁面框架沒有引入Vue、React或任何工程化工具。為什么不用前端框架因為這類內(nèi)部管理系統(tǒng)的核心是表單和表格全是服務(wù)端渲染的Jinja2模板就夠用了。你用Vue ElementUI當然更強但項目復雜度會指數(shù)級上升——打包、路由、狀態(tài)管理、跨域每樣都要學最后你可能花了三天搭環(huán)境一天寫業(yè)務(wù)性價比太低。base.html是模板繼承的根基我把它當作全站的公共殼!DOCTYPE html html langzh-CN head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 title{% block title %}學生榮譽證書管理系統(tǒng){% endblock %}/title link hrefhttps://cdn.jsdelivr.net/npm/bootstrap5.3.0/dist/css/bootstrap.min.css relstylesheet link href{{ url_for(static, filenamecss/style.css) }} relstylesheet {% block head_extras %}{% endblock %} /head body nav classnavbar navbar-expand-lg navbar-dark bg-primary div classcontainer-fluid a classnavbar-brand href{{ url_for(index) }}榮譽證書管理系統(tǒng)/a div classnavbar-nav a classnav-link href{{ url_for(student_list) }}學生管理/a a classnav-link href{{ url_for(cert_list) }}證書管理/a a classnav-link href{{ url_for(stats) }}統(tǒng)計看板/a /div /div /nav div classcontainer mt-4 {% with messages get_flashed_messages() %} {% if messages %} {% for message in messages %} div classalert alert-success alert-dismissible fade show rolealert {{ message }} button typebutton classbtn-close>link relstylesheet href{{ url_for(static, filenamecss/print.css) }} mediaprintprint.css的內(nèi)容media print { .no-print { display: none !important; } .container { width: 100%; max-width: none; } body { background: #fff; } .cert-box { border: 2px solid #333; padding: 48px; margin: 0 auto; max-width: 780px; font-family: SimSun, 宋體, serif; } .cert-box h2 { text-align: center; margin-bottom: 24px; } .cert-meta { line-height: 2.2; } }頁面顯示時證書詳情照常展示所有內(nèi)容用戶點打印預(yù)覽按鈕后瀏覽器會套用media print的規(guī)則把導航欄、操作按鈕全部隱藏只保留證書信息和樣式化的外框。這就是最輕量的生成PDF方案——用戶自己選擇另存為PDF就得到了電子版。證書詳情模板里打印按鈕我加在.no-print容器里div classno-print mb-3 button onclickwindow.print() classbtn btn-primary打印預(yù)覽/button a href{{ url_for(cert_list) }} classbtn btn-secondary返回列表/a /div div classcert-box h2榮譽證書/h2 div classcert-meta p證書名稱{{ cert.cert_name }}/p p證書級別{{ cert.cert_level }}/p p學生姓名{{ cert.student.name }}/p p學號{{ cert.student.student_no }}/p p班級{{ cert.student.class_name }}/p p發(fā)證日期{{ cert.issue_date.strftime(%Y年%m月%d日) if cert.issue_date else — }}/p p發(fā)證單位{{ cert.issuing_unit or — }}/p p證書編號{{ cert.cert_no or — }}/p /div /divExcel導出的實現(xiàn)我用了openpyxl實際代碼app.route(/certs/export) def export_certs(): # 復用與cert_list相同的查詢邏輯獲取certs keyword request.args.get(keyword, ).strip() level request.args.get(level, ) query Certificate.query.join(Student) if keyword: like f%{keyword}% query query.filter(db.or_( Student.name.like(like), Student.student_no.like(like), Certificate.cert_name.like(like) )) if level: query query.filter(Certificate.cert_level level) certs query.order_by(Certificate.issue_date.desc()).all() wb Workbook() ws wb.active ws.title 證書匯總 headers [學號, 姓名, 班級, 證書名稱, 級別, 發(fā)證日期, 證書編號, 發(fā)證單位] ws.append(headers) for cell in ws[1]: cell.font Font(boldTrue) for c in certs: ws.append([ c.student.student_no, c.student.name, c.student.class_name, c.cert_name, c.cert_level, c.issue_date.strftime(%Y-%m-%d) if c.issue_date else , c.cert_no or , c.issuing_unit or ]) for i, header in enumerate(headers, 1): ws.column_dimensions[get_column_letter(i)].width max(12, len(header) * 2 4) buf io.BytesIO() wb.save(buf) buf.seek(0) return send_file( buf, as_attachmentTrue, download_name證書匯總.xlsx, mimetypeapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet )這段代碼看著不難但里面藏著一個我排查了很久的坑第一次導出時Excel文件下載下來是損壞的。原因出在buf.seek(0)這行——openpyxl保存后文件指針停在末尾send_file從當前位置開始讀讀出來的自然是空內(nèi)容。所以凡是把數(shù)據(jù)寫入內(nèi)存緩沖區(qū)之后再發(fā)送的用戶都要記得先seek(0)。這個坑不寫出來不知道還會坑多少人。導出文件名用中文也完全沒問題Flask 2.x以后會自動處理download_name的編碼不需要手動做URL編碼或特殊轉(zhuǎn)義。在統(tǒng)計看板頁面我按證書級別做了匯總統(tǒng)計直接展示條形圖。圖形我用的是Bootstrap的進度條組件沒引入圖表庫——幾條色塊就能直觀看出哪個級別的證書占比高。需要更精細的圖表時再接Chart.js但現(xiàn)階段真沒必要。6. 本機部署與局域網(wǎng)訪問從開發(fā)機到輔導員電腦系統(tǒng)開發(fā)完成后我在自己電腦上跑得很歡輪到我交付給真正的用戶時遇到的問題數(shù)量遠超預(yù)期。下面每一條都是真金白銀換來的經(jīng)驗。第一關(guān)就是Windows環(huán)境的Python安裝問題。輔導員辦公室的電腦完全沒有Python環(huán)境。裝Python本身不難但安裝器里那個Add Python to PATH復選框默認是不勾的一旦漏勾命令行里敲python就報不是內(nèi)部或外部命令寫好的腳本完全跑不起來。這是我遠程協(xié)助時遇到的最多的報錯場景幾乎可以確診為Python環(huán)境配置第一坑。我的解決辦法是給非技術(shù)用戶做一鍵啟動腳本。start.bat內(nèi)容如下echo off cd /d %~dp0 python -c import flask 2nul if errorlevel 1 ( echo 正在安裝依賴庫請稍候... pip install -r requirements.txt ) python app.pycd /d %~dp0是切換到腳本所在目錄避免用戶從別的路徑雙擊運行導致文件找不到。腳本先檢查flask有沒有裝沒裝就自動裝依賴裝完再啟動應(yīng)用用戶全程只需要雙擊一下。這里我把判斷是否已安裝用python -c import flask的退出碼來判斷比挨個檢查包名清爽得多。應(yīng)用啟動時監(jiān)聽地址要改一下if __name__ __main__: app.run(host0.0.0.0, port5000, debugFalse)host0.0.0.0意味著監(jiān)聽所有網(wǎng)絡(luò)接口局域網(wǎng)內(nèi)其他電腦可以通過這臺主機的IP訪問。假設(shè)辦公室電腦的IP是192.168.1.8那別的老師瀏覽器里輸入http://192.168.1.8:5000就能打開系統(tǒng)。注意debugTrue在這種交付場景必須關(guān)掉——調(diào)試模式開著等于把遠程執(zhí)行入口暴露在局域網(wǎng)里還有修改代碼后自動重啟的行為會干擾正常使用。第二個常見坑是SQLite數(shù)據(jù)庫并發(fā)寫。多個老師同時錄入數(shù)據(jù)時SQLite會報database is locked。這個系統(tǒng)的并發(fā)量很小我用一個連接超時配置來緩解就是前面SQLALCHEMY_ENGINE_OPTIONS里那個timeout: 10。它表示如果數(shù)據(jù)庫被占用最多等待10秒再嘗試而不是立刻失敗。對辦公室場景實測這個配置非常穩(wěn)完全夠用。第三個問題是備份。所有數(shù)據(jù)都在certs.db這一個文件里我寫了個說明讓老師每周把數(shù)據(jù)庫文件拷貝到共享盤或U盤就算備份。這方案聽起來原始但比Excel散落在各個聊天記錄里強太多。有些學院的老師用Excel管理學期初誤操作覆蓋掉上個學期的文件幾個星期的錄入全沒了的例子我是親眼見過的。數(shù)據(jù)庫文件單文件備份反而是最簡單可靠的方案。如果你的需求是要在更大范圍內(nèi)使用比如整個學院同時幾十人操作那可以考慮用gunicorn Nginx部署在專用服務(wù)器上數(shù)據(jù)庫換MySQL。好消息是SQLAlchemy的ORM層把這些都抽象好了業(yè)務(wù)代碼幾乎不用改只需要把SQLALCHEMY_DATABASE_URI換成MySQL的連接串再處理一下并發(fā)事務(wù)就行。這也是當初堅持用ORM而不是裸SQL的最大回報。部署完后建議做一次完整驗證清空數(shù)據(jù)庫文件重啟應(yīng)用、插入幾條測試數(shù)據(jù)、導出Excel、打印預(yù)覽、斷網(wǎng)重連。全部跑通后再正式錄入真實數(shù)據(jù)。這個驗證步驟能提前發(fā)現(xiàn)大部分環(huán)境問題別等數(shù)據(jù)錄了一半再折騰。7. 我對這類小型管理系統(tǒng)的幾條實在建議寫完這套系統(tǒng)我復盤出了幾條經(jīng)驗。它們不一定適合所有項目但對Flask小項目來說應(yīng)該挺有參考價值。第一功能一定要做減法。統(tǒng)計大屏、微信消息推送、批量圖片導入、自動生成評語——這些功能都能做但第一版千萬不要碰。內(nèi)部管理系統(tǒng)的需求有一個規(guī)律用戶想象中的很多功能真正上線后根本沒人用。正確節(jié)奏是先做錄、查、改、刪、導出這五件事跑起來讓用戶實際試用根據(jù)真實反饋再加功能。我見過太多項目死在增強管理功能的路上。第二模型層一定要用ORM。即使只是SQLite也別裸寫SQL。ORM的價值不僅在于省幾行代碼更在于你想換數(shù)據(jù)庫、想加字段、想改關(guān)聯(lián)關(guān)系時改造成本極低。我之前用裸SQL寫過一個類似的工具加了幾個條件的查詢后SQL拼得像天書重構(gòu)時才體會到ORM的甜頭。第三模板繼承是必須的。base.html把導航欄、公共CSS、flash提示、腳本引用都包好每個頁面只寫自己獨有的{% block content %}全站一致性和后期維護都會輕松很多。我看到不少新手把同樣的導航欄復制到七八個頁面里后面改個鏈接要改七八處這種苦真沒必要吃。第四字符編碼問題要前置處理。從Python源碼到數(shù)據(jù)庫再到HTML模板全程統(tǒng)一UTF-8基本不會遇到亂碼。開發(fā)工具、編輯器的默認編碼都設(shè)成UTF-8數(shù)據(jù)庫里已有的亂碼數(shù)據(jù)基本都是源頭導入時編碼不對造成的導入前先確認原始文件的編碼。這個習慣能讓你少掉一大半頭發(fā)。最后說一下后續(xù)擴展方向。這套系統(tǒng)目前沒有登錄功能如果你部署的環(huán)境網(wǎng)絡(luò)不安全可以考慮加一層簡單的登錄驗證——Flask-Login是現(xiàn)成的方案往現(xiàn)在的代碼里接入也不算復雜。證書圖片上傳、批量錄入、學院內(nèi)多部門數(shù)據(jù)隔離也都可以做。但我的建議還是那句話先把當前這套用順用戶真的提了明確需求再去動代碼否則你會一邊寫一邊替用戶設(shè)計他根本不需要的功能。對我個人來說這類內(nèi)部工具的技術(shù)含量不算高但它解決了一個具體場景里反復出現(xiàn)的真實痛點——從用Excel翻找一下午到輸入一個名字點回車所有證書記錄一秒出來這種變化是實實在在的。你的學院或部門如果有類似的需求照著這套思路搭一個出來花的時間一定比你想象中少得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
51精品国内探花| 婷婷99| 色情久久久| 玖玖综合色区在线观看| www.激情五月| 五月婷婷视频| 欧美丁香五月天| 99五月婷| 999热这里只有精品| 色五月婷婷五月丁香五月激情五月视频| 一二线视频 另类| 丁香五月性| 天天色天天爽| 一丁香五月天月AV| 久热这里精品免费| 婷婷精品在线| 9l视频自拍九色9l黑人| 超碰久热| 亚洲午夜av| 五月丁香花免费视频| 激情综合99| 激情色色色| 亚洲精品色色色| 色色色色综合网| 色婷婷AV在线观看| 第四色大香蕉| 亚洲日比视频| 亚洲综合五月| 4438成人电影| 丁香伊人五月色婷婷五十路| 男同91| 自拍偷窥99热| 日韩另类| 狠狠草在线观看| 怡红院一二三| 天天做夜夜爽| 久热这里只有| 五月婷婷草| 天天操综合网站| 青青热久精品视频在线观看| 亚洲激情高潮| www夜夜操wwwcon| 九九综合久久丁香婷婷,开心激情综合网| 五月天婷婷亚洲| 久久97久久99久久综合欧美| 五月天婷婷丁香导航| 五月天伊人久久久久| 四色五月婷婷在线观看| 大香蕉婷婷五月天| 色噜噜狠狠色综合日日| 丁香五月天网友自拍啪啪啪视频| 五月婷在线| 久久久91| 无码地址| 激情黄色小说五月天| 六月婷婷网| 蜜臀丁香黄色婷婷五月天| 色色色色色五月丁香| 思思热99在线视频| 丁香五月天激情四射网| 欧美精品999| 久久婷婷五月综合伊人| 丁香婷婷五月激情综合| 亚洲综合视频一下| 色播激情五月天| 狠狠色噜噜| 婷婷综合五月色播| 五月丁香久久| www激情婷婷com| 九九黄色网| 色情五月综合婷婷| 婷婷五月天国产性感美女演员久久久久| 日本欧美成人片AAAA| 国产又黄又爽又色的免费| 色五月婷婷在线| 九九色婷婷| 婷婷五月天亚洲图片| 日本色99| 国产精品噜噜在线视频| A久网| 婷婷五月婷婷五月天| www.色擼擼.com| 停停五月丁香| 午夜天堂啪啪| 久操人| 久久九九精彩| 激情五月网站| 操碰99| 久久久久久久久久8888| 激情婷婷99| 久久影视婷婷五月| 5月婷婷视频网站综合| 五婷婷六月合| 激情九九六月激情免费视频| 亚洲第一成人无码A片| 日日夜夜九九| 欧美狠狠草| 亚洲va在线| 久99视频在线观看| 亚洲视频另类| 丁香5月综合啪啪| 丁香五月天在线观看| 天天搡日日搡aaaaⅩ| 五月婷婷色| 色婷婷最新域名| 色久婷婷五月| 五月丁香影院| 婷婷激情五月视频| www五月天激情com| 免费观看全黄做爰的视频| 五月天婷婷涩涩| 狠狠色中色| 人人玩人人橾| 婷婷色色五月| 91久热| 婷婷开心久久| 五月丁香网站| 九月婷婷久久久| 天天日,夜夜爽| 天堂久久精品| 九九大香视频| 国产亚洲色婷婷久久99精品91| 五月丁香综合网| 婷婷五月丁香A∨| 六月婷五月丁香| 亚洲愉拍99热成人精品| 伊人玖玖婷婷| 五月天天久久香| 五月天综合在线网| 五月丁香婷婷成人伊人网| 狠狠干在线| 91人人爱| 开心五月深爱激情| 影音 五月 婷婷 久久| 国产成人综合网| 99热66| 操B无码视频国语| 激情都市五月天| 婷婷丁香色五月| 婷婷激情五月天激情在线| 五月丁香婷婷网在线在线| 亚洲九区| 人人爽欧美婷婷久久久五月丁香 | 国产亚洲色婷婷久久99精品91| 婷婷五月天欧美| 俺去也五月| 丁香五月婷婷激情小说| 久久曰曰| 五月丁婷婷| 超碰99热| 五月天欧美激情| 亚洲欧洲中文日韩久久AV乱码| 香蕉AV777XXX色综合一区| 99热免费在线| 五月丁香婷婷色| 久热超碰91| 激情丁香久久久久久| 欧美爆乳一区二区三区| 黄色91在线观看| 五月丁香六月婷婷视频| 婷婷在线播放| 色婷婷久久| 999热这里只有精品| 婷婷性爱网| 情色婷婷五月天| 国产91九色| 日日干日日| 天天射综合网天天插| 激情综合网五月在线播放| 99色热| 波多野结衣不卡AV| 99色色视频| 婷婷综合亚洲| 久久五月天免费网站| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 综合网亚洲| 中文字幕婷婷在线| 五月婷婷之综合激情| 激情五月婷婷丁香六月| seuuu婷婷| 五月丁香花开综合网| 丁香婷婷五月综合欧美另类| 激情婷婷久久| 99色1| 亚州欧美黄色电影| 99久久网站| 五月天天丁香婷婷在线中| 丰满少妇乱A片无码| 久久精品视频9| 一起草av在线观看| 风流少妇A片一区二区蜜桃| 五月婷婷免费| 五月天婷婷免费| 97色色婷婷| 婷婷五月天成人网站| 婷婷色五月天色色| 亚洲妇女熟BBW| 婷婷五月天综合中文| 六月婷婷视频| 丁香六月丁香婷婷激情| 色欲色香综合网| 激情五月无码| 九九婷婷综合| 久操香蕉| 色欲丁香| 综合色五月| 综合AV在线| 中字幕视频在线永久在线观看免费| 欧美激情-区二区三区| 久久九九@| 五月天激情小说| 激情综合色播| 九九热这里只有精品9| 丁香五月婷婷99| 日本三级中国三级99人妇网站| 色婷婷狠狠干芒果TV| 97精品综合久久| 国产精品成人网址| 色婷婷五月天| 一级性爱视频| 色啪影院| 97碰碰视频在线观看免费| yazhouzonghesese| 看黄的网站18禁| 激情综合网站| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 亚洲中文字幕av| 99视频啪啪| 狠狠干天天日| 99视频内射三四| 亚洲日韩欧美综合VA| 深爱 五月天| 91在线看免费 九九九九| 亚洲精品一区无码A片| 丁香五月天网站| 六月丁香五月天| 婷婷激情综合网| 婷婷色中文字幕| 1999天天操夜夜操| 性爱五月丁香| 日本一毛片| 9久久久| 日本色啪| 丁香五月天社区婷婷| 久操欧美在线观看97| 丁香五月综合| a网站免费观看| 97操碰碰无码视频| 香蕉久久国产AV一区二区| 天天天天天天操| 丁香五月在线视频黑人| 丁香婷婷色五月天| 久久婷婷成人综合色怡春院| 99无吗| 天天看夜夜看| 久久五月天激情| 岛国av电影网站| 色青青视频| 亚洲激情图文小说| 这里只有国产精品在线| 五月婷婷六月基地| 狠狠干夜夜干| 秋霞A V毛片| 五月丁香婷婷中文| 久久香蕉网| 精品乱码久久久久| 亚洲精品又粗又大又爽A片| 久/久精品99看9| 五月天偷拍| 激情五月天网| 婷婷色色网站| 人人干女人| 92久久| 欧美婷婷| 少妇人妻凹凸视频| 九九色色| www.婷婷| 人妻 性久久久久久| 色婷婷日本| 久久五月网| 色色婷婷丁香| 久久婷婷七月丁香| 超碰高清在线| 人妻久久做| 丁香五月自拍| 日本色色色| 色色色热| 免费观看18视频网站| WWW.国产| 婷婷欧美激情| 影音先锋女人av鲁色资源网小说免费 | 婷婷97| 国产精品成人AV在线观看春天| 久久人妻少妇嫩草AV| 丁香婷婷五月天色播| 色婷婷五月婷婷五月婷婷五月| 米奇影视五月天| 色天五月天在线观看视频| 三级三久久线久久99久目本WW| 久久精彩视频| 超碰色天堂| 色九九综合| 全国最新疫情| 色婷婷网| 欧美日韩成人h| 97人操人免费视频| 久 久9 9 热 视 频| 激情综合五月天| 大地资源色婷婷视频在线| 亚洲国产黄色电影| 婷婷丁香久久五月综合| 激情久久久久久久久久| 美女婷婷六月色| 激情五月丁香亭亭| 少妇水多A片太爽了| 国产44页| 日韩av干| 日日日日日| 26uuu成人网| 久久久97| 99热免费观看| 五月丁香亚州综合网| 日韩操人| 色婷婷中文在线| 精品国产乱码久久久久久免费| 天天操综合网站| 九九色色| 97色干| 五月天 另类图片| 激情小说婷婷| 91久久综合| 26UUU在线观看| 大香蕉久操| 亚洲天堂青草| 天天干天天爽天天爽| 亚洲五月天婷婷| 大香婷婷| 五月婷婷影| 春色激情| 亚洲男人的天堂婷婷色五月| 极品人妻VIDEOSSS人妻| 亚洲婷婷五月天在线激情综合网| 免费看欧美成人A片无码| 国产精品久久久爽爽爽麻豆色哟哟 | AA片在线观看视频在线播放| 这里只有精彩小视频视频网站| rr天天操| 亚洲AV第二区国产精品| 久久婷婷亚洲| 亚洲无码www| 久久综合干| 色五月在线综合| 99超在线| 国产,欧美,学生妹,视频| 99黄色性生活| 国产成人av在线| 亚洲aV写真天天综合网久久| 91久久人人操| 五月婷婷中文字幕| 任你日热视频| 久久新地址| 99热热这里只精品996小说| 狠狠搞亚洲| 久久97久久99久久综合欧美| 亚洲爱爱无码婷婷色五月| 五月激情小说| 再綫Av免费視品| AV操操操| 凹凸探花电影| 久久九九99亚洲国产久精综合| 色综合久久久久| 色狠狠激情五月| 91久久久久久久久18| 婷婷放心五日爱| 五月激情婷婷丁香| 五月永久激情| 色综合播放| www.狠狠艹| 丁香五月天激情四射网络不好| 亚洲成人人人操| 久久天堂色| 天天做天天爽| 激情五月婷黄版| 综合色播| 手机免费福利视频| 亚洲婷婷基地| 五月综合视频| 99性视频| 丁香五月久久| 五月综合激情啪啪啪啪啪| 久久五月激情| 超碰人人操在线| 综合网激情| 五月天小说激情| 丁香婷婷啪啪啪| 亚洲欧洲美女在线观| 五月丁香六月激情综合欧美| 国产成人+综合亚洲+天堂| 五月丁香久久| 无码yw| 日韩中文字幕| 这里只有精品2| 97碰碰在线观看视频| 激情色播| 天天色色天天| 桃色五月婷婷| 九九综合五月欧美| 综合五月婷婷| 亚洲精品婷婷| 五月婷婷和六月| 日韩三级视频一区二区| 丁香六月激情综合| 五月欧美丁香在线观看| 99久久综合网| 久久精品99| 七月丁香五月婷婷在线| 天天干狠狠| 思思久日精品视频| 性爱在线播放av| 色六月视频| 色欧美影院| 亚洲日韩乱码一区二区三区四区| 婷婷五月大香蕉| 怡红院院久久| 欧美日本VA| 一本狠婷婷综合| 亚洲色热| 在线成人网站| 六九色综合婷婷五月天| 国产精品色一哟哟| 六月丁香五月婷婷首页| 激情六月天婷婷| 操碰色一区就去操| 久久久中文| 五夜丁香| 九月婷婷激情久久| 三级毛片视频| av中文在线| 伊人五月综合网| 五月婷婷影视| 思思99精品视频在线观看| 日韩一级网站| 69人人操人人爽| 国产AV一区二区三区最新精品| 五月天婷婷丁香| 五月天激情小说| 激情综合九| 午夜爱爱网站| 色综合久久中文| 婷婷丁香五月天色区| 婷婷五月天中文字幕| www.色五月| www,色婷婷| 五月天婷婷乱论小说| 熟女乱论网| 欧美日韩成人在线网| 色婷婷成人做爰A片免费看网站| 91天堂网综合| 国产精品第一国产精品| 99色在线| 秋霞三级影视资源| 成人片在线播放| 美女视频图片久久91| 99性视频| 99自拍视频| 伊人六月丁香婷婷| 婷婷激情肏屄网| 婷婷自拍| 色yeye色综合| 丁香婷婷综合喷| 日本欧美成人片AAAA| 五月天婷婷久久| 99色色网| 久久狼人天堂| 99碰超| 天天日天天爽| 六月丁香五月婷婷| site:picc-up.com| 六月婷伊人| 婷婷五月激情的图片| 超碰99资源站| 这里只有精品久久| 色色色色综合| 99热这里只有精品8| 激情五月天色色网| www.色婷婷| 超碰人人操人人干| 97热91| 国产欧美日韩综合精品一区二区| 成人无码髙潮喷水A片| 久热这里| 超碰97在线操| 热热99爱爱| 91xxxx九色| 婷婷丁香综合色AV| 九九综舍久久| 五月婷婷综合网| 亚洲婷婷五月草久| 丁香欧美| 狠狠干在线| 成人在线视频一区| 91狠狠色丁香婷婷综合久久精品| 亚洲欧洲中文日韩久久AV乱码| 成人国产欧美大片一区| 亚洲电影中文字幕| 亚洲六月色婷婷| 婷婷色六月| 婷婷五月天亚洲综合| 97亚洲婷婷| 丁香花色色网| 能看的av| 日日操夜夜操中国无码| 色9999日韩国产| 色私五月婷婷| 国产精品99久久久久久久女警| 97干资源在线观看| 久久久久亚洲AV成人无码电影| 激情婷婷内射| 人人干Av| 久综合网| 熟妇人妻中文字幕无码老熟妇| av大片在线| 色九亚洲| 婷婷大美在线| 久久婷婷成人综合色怡春院| 色五月婷婷久久| 中字幕视频在线永久在线观看免费| 日韩操啪| 99热无码精品| 类似婷婷激情综合网站| 欧美 日韩 人妻 高清 中文| WWW99热| 婷婷色网| 四季日韩AV无码综合| 久草五月婷婷| 日本成人小说婷婷六月| 99色综合| 99爽视频| 欧美狠狠地| 亚洲av综合网| 最近中文字幕2019视频1| 99精品高潮| 五月丁香六月婷婷,婷| 五月天婷婷在线AN| 99热国产| 五月丁香日本一抹本| 婷婷.com| 丁香五月天堂网| 久Se视频在线观看| 五月天激情四射| 99爱这里只有精品免费视频| 五月天婷婷基地| 色色色天堂网| 久久婷婷亚洲五月天| 99ri在线观看视频| 九九色之九九色之88| 天天婷婷综合亚洲亚洲| 婷婷五月丁香A∨| 激情伍月 欧美| 婷婷色情五月| 9999热免费视频视频| 99色啊| 亚州操操| 伊人大香蕉在线视频| 精品久久久久久久人妻| 丁香激情网| 996热| 亚洲午夜一区二区| 老师高潮流白浆喷水的A片| 玖玖视频福利| 秋霞性爱AV| 国产婷婷五月| 婷婷五月色情天| 五月婷婷色播| 婷婷色综合中心站| 成人做爰高潮A片免费视频| 中文精品在| 天天高潮夜夜爽| 久久97久久99久久综合欧美| 天天操夜夜爽天天操| 婷婷97碰碰| 免费啪啪啪网站| 中文字幕 久久9999| 9l视频自拍9l九色成人| 色综合色综合色综合高潮| 亚洲日日操| 日韩成人综合网| 五月丁香啪啪综合| 天天噜天天插| 婷婷五月天小说| 精品国产人人爱人人| 热99在线| av无码电影| 欧洲不卡视频| 久久久18| 婷婷色综合| 久草视频一,二三四| 婷婷五月av| 婷婷五月天激情小说| 日本系列_4页_777FP| 五月丁香久久呀| 我爱大香蕉| 天天色月| 色色色网站| 99热最新网址| 超色欲天天| 日本婷婷色日| 色综合久久99色| 另类激情四射| 99综合久久| 91欧美| 五月婷av| 激情另类综合| 国产精品第一国产精品| 婷婷日日夜夜| 六月婷婷久久| 久久婷婷七月丁香| 婷婷九月丁香| 色综合久| 久久久久久久久月丁| 99在线免费视频| 日韩欧美颜射| 三级片AAA久久久AAA久久久AAA | 久久曰曰| 99re资源在线视频导航| 色偷偷五月天| 99re熱| 能看的av网站| 丁香五月激情五月开心五月| 免费啪啪亚州视频| 五月丁香亭亭| 五月天播播| 亚洲第一黄网| 在线播放 精品| 国产成人高清| 亚洲 五月 婷婷 成人| 久久久欧美精品sm网站| 成人在线日韩| 久久激情网| 青青草婷婷综合五月| 海外网站专业操老外| 棕合影院色色| 色五月亚洲| 欧美一级色| 丁香婷婷六月激情| 五月丁香六月色| 国产高潮A片羞羞视频涩涩| 色婷婷丁香五月| 婷婷丁香五月天综合网| a九九热www| 五月天丁香婷婷网| 另类图片五月天| www五月| 插插插色综合网| 欧美日韩123| 97热超碰| 日本熟妇乱妇熟色A片蜜桃| 操人91| 99精品色| 久久午夜理论| 久久久久综合激动五月天| 国产性爱一级| 伍月婷丁香花全集| 玖玖在线视频| 五月天狠狠网站| 久久综合网桃花| 激情98色婷婷五| 色情五月丁香| 天天操综合网| 久久久香| 久久五月丁香| 久热伊人| 天天想夜夜爽天天爽| 性爱五月丁香| 午夜成人在线免费视频| 91色干| 色爱爱综合网| 日韩ww| 五月天色不卡| 99婷婷色| 黄色一极大片| 91n网站cad入口在线观看| www.色五月| 在线99热| 五月开心婷婷极品激情| 久操激情| 丁香激情久久| 26uuu视频欧美| 亚洲人妻AV| 丁香五月中文字幕| 丁香五月综合激情啪啪| 人人操99| 色欲色天天香综合| 操一区| 97se在线视频| 9久久精品视频| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 九九热在线精品视频| 日本爆乳片手机在线播放| 啪啪六月婷婷| 婷婷五月天无码| 久久九九视频| 婷婷色导航| 五月天婷综合| 婷婷五月天久久久| 亚洲AV成人在线| 成人AV在线电影| 欧美槡BBBB槡BBB少妇| 九九婷婷激情综合网| www久久久久久久久久久| 婷婷欠久少妇| 超碰伊人碰婷婷五月| 狠狠综合区| 天天搞天天色综合| 开心婷婷五月天综合| 呦呦视频无码播放| 婷婷情爱五月天6| 五月婷婷色播| EEUSS鲁片一区二区三区| 无码AV免费精品一区二区三区| 久久五月婷天天干| 亚洲成人中文字幕| 新久久五月天激情| 99成人精品| 五月激情六月综合| 免费视频无码| 99热综合在线观看| 婷婷五月综合色拍| 亚洲精99| 五月婷婷深深爱| 狼人久草| 婷婷五月激情视频网| 成人做爰A片免费看网站找不到了| 五月婷婷天天色| 99黄色| 五月天婷婷无码视频| 九九re精品视频在线观看| 丁香五月AV| 色色五月天 亚洲| 久久黄A片| 综合伊人狠狠| 79精品视频在线观看,| 91欧美日韩| 婷婷综合色图| 米奇影视五月天| 天天插天天插| 久热精品在看| 天天成人五月天| 六月丁香婷婷综合狠狠爱夜夜爱| 亚洲欧美在线观看| 99玖玖在线视频| 天天干天天日天天插| 五月色色色| 婷婷在线日韩综合| 玖玖色综合网| 五月婷婷啪啪| 风流少妇A片一区二区蜜桃| 99色精品| 五月天网站亭亭| 香蕉久久国产AV一区二区| 91久久九九| 色婷婷电影网| 久久伊人婷婷| 亚洲欧洲一二| 婷婷五月天视频小说| 五月天婷婷无码| 亚洲无码AV片| 人妻操在线看| 95精品区一区二| 9999三级片| 婷婷五月视屏| 亚洲色区17| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 亚洲色五月| 91九色熟女| 色开心五月婷婷丁香HD| 婷婷六月色丁香视频在线观看| 丁香六月情| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 久久五月天婷婷视频| 性一交一乱一交A片久久四色| 五月婷婷久久爱| 九九热这里有精品23| 色播五月婷婷| 色综合婷婷| 99热这里只有精品3| 美女五月天| 日日撸日日操| 成人亚洲精品久久久久| 久久综合网桃花| 日日干天天爽| 婷婷五月丁香色色| 国熟女视频| www.色色色com| 99热无码精品| 亚洲男女激情| 热的国产,热的综合,热的有码| 国产无套精品一区二区| 超碰九九热| 婷婷五月无码| 五月丁香六月婷婷精品| 五月婷婷六月丁香综合在线| 激情久久丁香| 色五月丁香网| 色婷婷综合在线| 丁香六月 人妻| 丁香婷婷AV| 六月丁香五月激情婷婷| 国产性av| 午夜性爱影视一区77| 国产婷婷色综合AV蜜臀AV| 亚洲 精品 综合 精品| 成人午夜天| 天干干夜夜操| 免费看欧美成人A片无码| 五月丁香六月婷婷婷婷| 色九月丁香婷婷蜜桃在线观看| 五月丁香六月花| 婷婷五月综合啪| 色五月婷婷网| 色你久久| 亚洲精品久久久无码| 天天舔天天| 九月停停| 亚洲a色| 这里只有精品,日韩视频| 国产国产乱老熟女视频网站97| 思思久久青草热| 国产人人操| 五月天淫乱视频| 思思视频这里是精品| 亚洲妇女熟BBW| 狠狠色综合久久| √天堂资源在线人妻熟女| 综合网天天| wwccc久久久| 国产无人区大片| 99这里| 亚洲 小说 欧美 激情 另类| 超碰av天堂| 久久激情网| 狠狠色综合五月| 五月天啪啪视频| A片试看50分钟做受视频| 色五XX| 亚洲色色色色色| 一区二区三区四日本| 另类图片五月天| 五月永久激情| 丁香五月综合首页| 激情五月天婷婷丁香| 中文字幕丰满乱孑伦无码专区| 亚洲AV在线免费看| 婷婷五月天小说| 99色色网站| 国产永久一黄| 狠狠干最新地址| 9l视频自拍9l九色9l成人| 九九视频这里是精品五月| 久久婷综合网| 粉嫩AV久久一区二区三区| 无码区婷婷五月花开| 色播播之激情五月婷婷| 九九99热久久精品66中文字幕| 久久九色| 丁香九月婷| 久久A区B区| 99热播放| 九色激情| 成人精品视频99在线观看免费 | 九九热这里只有精品7| 夜精品无码A片一区二区蜜桃| 无码区婷婷五月花开| 五月天婷婷色播在线网| 婷婷丁香九月| 中文字幕操比影片| 成人做爰黄A片免费看直播室男男| 激情爱爱网站| 丁香婷婷成人在线播放| 这里只精品| 亚州操操| 丁香五月成人自拍| 97日本在线播放| 丁香婷婷激情| 五月亭亭开心网| 99精品久久久久| 国产午夜精品久久久观看| 插插五月天| 色色综合成人网| 99久久五月天| 91在线视频观看午夜福利| 五月丁香六月天| 成功精品影院| 久久综合干| 五月婷婷亚洲天堂激情在线| 五月婷婷丁香综合| 97超级操操| 久婷婷色| 99玖玖精品| 综合aV在线| 欧美熟女视频 色婷婷| 久久久人妻| 欧美成人AAA片一区国产精品| 久久婷婷五月天| 伊人久久大香线蕉av最新| 久热黄色| 久操97| 无套内射极品大美女| 亚洲综合五月天婷婷| 婷婷五月天在线观看免费| 99精在线| 婷婷无码五月天| 欧美成人A片AAA片在线播放| 激情六月天婷婷| 五月婷婷丁香在线| 9久热这里只有精品视频| 午夜九九电影| 五月婷婷之六月丁香| 这里只有精品免费视频在线观看 | 26UUU| 亚洲国产精品成人免费一区久久久在线观看AAAA| 超碰在线中文字幕| 亚洲午夜av| 永久的网站AAAA | 丁香五月天欧美在线| 欧洲激情网站| 五月天激情中文字幕| 六月丁香五月激情网| 激情宗合网激情五月天| 五月综合影院| 五月婷婷激情久久| 成人五月丁香社区| 婷婷五月天开心网| 天天综合色| 久久九九99.www| 在线伦子99热| 国产激情视频在线观看| 色婷婷丁香六月| 婷婷激情五月天色| 人人干av| Av大香蕉| 色五月情| 999精品久久久久久久| 婷婷久久图片| 五月综合激情久久| 欧美色色色| 久操福利| 激情视频网址| 99在线精品观看99| 国产黄色在线| 99热99草97| 99高级会所久久| 亚洲精品视频在线播放| 超碰免费人人| 性色九九| 欧美色色色色色色色| 另类激情五月| 婷婷激情丁五月| 26uuu成人网| 婷婷色五月激情| 婷婷五月综合基地| 五月丁香亭亭操逼| 噜噜噜噜在线| 久久大香蕉同僚| 另类在线免费视频| 婷婷伊人75| 激情com| 亚洲va综合va国产va中文| 色五月激情婷婷| 亚洲成人AV电影网| 操操啪| 五月丁香综合激情网| 97干在线| 任我干视频在线观看| 五月色婷婷在线观看| 可以直接看的AV网站| 丁香五月社区| 丁香狠狠操| 丁香五月天激情五月天激情五月天激情网| 噜啊噜在线| 日本少妇裸体做爰高潮片| 日韩人妻无码精品| 99性爱无码| 伊人色综在线| 丁香九月激情| 91视频一起草| 久久色大香蕉| 9999热精品在线免费播放| 99色网站| 国产精品黑丝| 天天爱天天做天天舔| 九九热精品| 999九九九久久久99HD| 99re这里只有精品国产99| 久久婷五月婷| 久久99jiu9| 丁香五月天视频在线播放| 色播五月婷婷| 大香蕉网站,大香蕉综合| 五月香六月婷| 26uuu欧美| 成人 在线 日韩| 亭亭五月色男人| 婷婷狠狠青青| 成人五月天在线视频在线观看| 狠狠做深爱婷婷久久综合一区| 天天网曰日曰夜夜综合永久免费| 天天爱天天做天天日| 91干| 色婷六月| 这里只有精品视频| 色色六月| 日本五月视频| 三级黄网站| 国产超碰人人| www.色婷婷| 久久五月婷综合网| 噜噜视频| 五月激情久久| 久久av电影| 国产精品久久久久久喷浆| 夜夜夜天天操| 免费视频无码| 四色永久成人网站| 欧美性爱五月天| 色情综合| 色色色热| 99热综合在线| 蜜臀AV在线观看| 99热无码精品| 精品无码久久久久久久久| 青青草蜜臀| 成人做爰A片免费看视频| 思思热在线视频观看精品| 青草五月天| 亚洲 精品 综合 精品| 久久丁香五月婷婷| oVV4WIB3vFi8D| 五月丁香激情啪啪| 伊人久久大香网| 久久婷婷综| 久久精品婷婷| 中文字幕按摩做爰| 亚洲色情激情丁香五月| 人妻激情久久| 色噜噜婷婷| 亚洲无码yw| 情色婷婷五月天| 中文网AV| 激情噜噜噜| 久久免费操| 久久色五月| 色吧综合网| 免费AV播放| 婷婷五月图片小说网| 99久久色| 欧美激情五月天| 亚洲激情高潮| 91干99| 五月天激情小说| 色婷婷五月六月丁香综合视频| 99久久婷婷| 九九热免费| WWW.99视频| 国产精品99久久久久久久女警| 5月丁香六月情| 五月天激情网址| 91丨九色丨大屁股| 亚洲人人操BD| 婷婷色片| 亚洲色色色| 99亚洲色| 啊v视频在线观看| 激情又色又爽又黄的A片| 亭亭五月色男人| 黄网网站在线播放| 成人久碰| 久久女人天堂| 五月婷在线视频免费播放| 深爱激情六月天| 人妻免费网站| 久/久精品99看9| 五月婷婷丁香伦理网| 大香蕉久久婷婷| 性爱视频久久| 激情五月婷婷五月丁香五月开心五月| 4399在线日本A片| 久久久久久久91| 99热热这里只精品996小说| 婷婷五月天天| 婷婷综合偷拍| 激情第四色| 人人草人人视| 五月欧美色播| 久久久久9久无码视频| 日本色五月| 亚洲激情97五月天| 7月婷婷六月丁香| 亚洲av综合在线| 婷婷五月丁香五月| 丁香午夜天| 激情五月天之五月婷婷| 五月久久网| 热久91| 五月综合激情| 色综合天堂| 六月天六月婷| 天天干,天天舔| 97成人视频| 国产精品久久久久久久久久| 夜夜撸夜夜骑| 激情五月丁香在线观看直播| 日韩肏屄网| 超级碰碰碰久久网站| 久热这里只有精品6| www久久久久久久97| 婷婷激情五月天小说| 五月天激情在线视频| 久久婷婷丁香| 丁香婷婷五月综合| www久视频com| 五月婷婷六月丁香| www.99久| 五月丁香久| 99色精品| 人人舔天天| 五月丁香婷婷人体| 99自拍视频在线| 综合色五月天| 伊人五月综合网| 婷婷五月丁香A∨| 色色色激情网| 蜜乳av一级av| 99只有精品| 疯狂做受XXXX高潮A片| www.狠狠| 激情五月小说婷婷| 日本不卡一区二区三区| 久9热| 台湾综合丁香五月蜜桃| 日韩国产在线精品| 十一月婷婷激情四射| 五月丁香久久| 激情网婷婷婷| 色婷婷五月天在线| 激情综合网五月在线播放| 色婷婷久久综合| 丁香五月电影院在线观看| 久久的爱大香蕉| a毛片二逼wwwwwwwwww| 三日本无码| 99热欧美| 噼里啪啦完整版中文在线观看 | 丁香婷婷五月六月天| 色婷婷网| 色婷婷婷婷| 日本a片网址| 五月丁香六月婷婷亚洲天堂网站| 丁香五月六月久久综合 | 狠狠色噜噜色狠狠狠综合色| 色欧美一级| chaopeng在线人人| 丁香九月色| 激情国产综合| 五月婷婷导航| 五月丁香999| 激情性爱五月天| 永久99免费视频网站| 五月丁香va| 亚洲中文乱字字幕线在永久| 亚洲丁香五月在线观看| 午夜激情五月| 婷婷婷久久久| www.yw色| 色墦五月丁香| 草了bav视频在线观看| 亚洲乱啪| 激情婷婷九月| 国产色丁香| 五月婷婷福利| 另类小说激情五月天| 久久99久久99精品免视看婷| 99自拍视频| 婷婷香蕉精品| 色综合网页| 午夜激情综合| 综合九九久久| 99热18| 丁香五月23111| 色婷婷视频在线| 日韩激情人伦人| 9色在线| 久操人妻| 91xxxx九色| 一级视频网址| 中文婷婷狠狠| 九九aV| 九月婷婷综合| 日本欧美成人片AAAA| 91黄址| 色色色干| 成人色色视频| 五月天激情网图片| 99热这里有精品| 久久人操-久草婷婷-成人AV| 日韩精品超碰在线观看| 五五月五月| 99视频在线| 激情综合五月婷婷| 97丁香五月天| 久热这里只有精品视频免费观看| 天天开心AV色综合婷婷五月天| 成人婷婷桔色| 天天日天天干天天插天天射| 婷婷成人五月天一区| 亚洲色频| 色999五月色| 五月天AV大香蕉| 亚洲精品久久久久久久久久吃药| 婷婷五月婷婷| 教师性爱毛片| 色碰碰| 久狠日av| 国产成人精品一区二三区熟女在线 | 人妻五月天激情开心网| 天天色综合色色色色色。| 婷婷丁香五月综合激情小说| 亚洲综合久| 岛国操B不卡在线| 激情五月天在线| 久久99综合| 亚洲最大成人综合网720P| 色噜噜狠狠色综合AV兰草影视| 亚洲午夜电影| 五月色婷婷综合丁香精品无遮挡| 99热91| 丰满老熟妇BBBBB搡BBB| av中文在线| www.99在线| 九九精品碰| 99色 色| 色99综合色88| 天天操夜夜爽天天操| 99riAV国产精品视频| 三日本无码| 婷婷五月婷婷五月| 无码少妇高潮喷水A片免费| 狠狠色噜噜狠狠狠狠综合| 五月天激情啪啪| 国产又色又爽又黄又免费| 婷婷AV丁香| 亚洲亚洲人成综合网络| 97人人操在线| 色色激情网| 五月丁香久久网| 激情综合网五月婷婷| 成人免费va| 日日操天天操| 激情六月丁香综合| 婷色五月| 91日视频| 99九色视频在线观看| 日韩 中文 欧美| 五月激情在线| 婷婷五月天 偷拍| 99在线看视频|