亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

Flask與Django雙框架協(xié)作:校園閑置物品換購平臺實戰(zhàn)詳解

Flask與Django雙框架協(xié)作:校園閑置物品換購平臺實戰(zhàn)詳解 看到基于flask-django這種題目的時候不少同學第一反應是:這倆框架是不是得二選一?或者怕寫成用Django做了個主頁、用Flask做了個登錄頁的縫合怪。其實這類設計題目真正想考察的是你能不能理解兩個Web框架各自的能力邊界并且用一套合理的架構(gòu)讓它們協(xié)作完成一個完整業(yè)務。這個校園個人閑置物品換購平臺我當初從需求分析到部署上線完整走了一遍坑踩了不少但做完之后對Python Web開發(fā)的理解確實上了一個臺階。這篇文章我會把整套設計思路、核心數(shù)據(jù)表結(jié)構(gòu)、雙框架協(xié)作方式、關(guān)鍵代碼實現(xiàn)以及部署階段遇到的真實問題全部梳理出來。不管你是要做課程設計、畢業(yè)設計還是單純想練手兩個主流Python框架這篇都值得看完。1. 雙框架并存的核心思路:主業(yè)務收斂、輔助功能外放先直接說結(jié)論:一個項目里同時出現(xiàn)Flask和Django絕不是讓它們做重復的事而是讓每個框架去做自己最擅長的事。1.1 Django和Flask的能力邊界Django自帶ORM、Admin后臺、用戶認證體系、表單處理、CSRF防護這種全家桶特性非常適合承載業(yè)務主鏈路。對于校園閑置物品換購平臺來說用戶注冊登錄、物品發(fā)布、訂單交易、后臺審核這些核心模塊用Django來做能省掉大量重復造輪子的工作而且數(shù)據(jù)模型和數(shù)據(jù)庫遷移都通過Django ORM統(tǒng)一管理代碼維護成本低。Flask則是一個輕量級框架它不替你做任何決定但勝在靈活、啟動快、寫小服務非常順手。在這個項目里我把推薦接口、數(shù)據(jù)統(tǒng)計聚合、圖片壓縮處理這類相對獨立的輔助功能放到了Flask側(cè)。這類功能的特點是:邏輯相對獨立、調(diào)用頻率可能很高、不影響主交易流程即使某個接口掛了也不能拖垮用戶下單。1.2 雙框架協(xié)作的三種常見模式我見過不少團隊做這類雙框架項目拆法大致有三種:協(xié)作模式實現(xiàn)方式適用場景優(yōu)缺點方式A:共享數(shù)據(jù)庫獨立服務Django跑主站Flask跑API子服務兩者連同一個MySQL通過HTTP接口互相調(diào)用課程設計、畢業(yè)設計也是本文采用的方案架構(gòu)清晰、容易演示但要注意兩個框架訪問同一批表時的模型一致性問題方式B:主進程嵌入用werkzeug的DispatcherMiddleware把Flask應用作為Django的子應用掛載只想演示同時使用了兩個框架時用來交差部署簡單但兩個框架的session、中間件會互相干擾后期難維護方式C:完全微服務化各自獨立數(shù)據(jù)庫通過REST API松耦合通信分布式結(jié)課項目演示效果好但數(shù)據(jù)一致性難保證工作量也大我最終選了方式A。理由很現(xiàn)實:課程設計和畢設的評審老師最看重的是業(yè)務閉環(huán)也就是用戶能發(fā)布物品、能下單、能完成換購。共享一個MySQL能保證交易的強一致性Flask只負責讀多寫少的輔助接口就算Flask掛了Django站點的核心功能也不受影響。這其實是真實企業(yè)里主業(yè)務收斂、輔助功能外放思想的一個簡化版答辯的時候這樣講非常加分。1.3 為什么推薦先設計架構(gòu)而不是先寫代碼很多同學拿到題目第一件事就是django-admin startproject然后就開始寫models。我的建議是反過來先花半天時間把這個平臺到底有哪些角色、哪些核心流程、哪些狀態(tài)想清楚。你可以問自己三個問題:誰是系統(tǒng)用戶?學生、管理員還可能有什么?最核心的流程是什么?發(fā)布物品、發(fā)起換購、確認交換、互相評價。哪些功能寫進Django哪些拆給Flask?根據(jù)依賴關(guān)系劃分而不是按頁面劃分。想清楚這三個問題后面寫代碼就是照圖施工而不是邊寫邊改。這個項目里我最深刻的體會就是:前期架構(gòu)多花的時間后期至少能省三倍。2. 校園換購平臺的需求本質(zhì):不是簡單二手交易閑置物品換購聽起來和閑魚、轉(zhuǎn)轉(zhuǎn)差不多但落在校園場景里需求邏輯其實有明顯區(qū)別。搞清楚這些數(shù)據(jù)庫表設計才有的放矢。2.1 校園場景的三個核心差異第一,用戶身份天然可信。注冊必須綁定學校域名郵箱或?qū)W號這意味著平臺內(nèi)交易雙方的違約成本更高不需要像閑魚那樣做復雜的芝麻信用體系。第二,交易以線下自提為主。大學生活動范圍高度集中宿舍區(qū)、教學樓、食堂就是天然的交貨點。所以系統(tǒng)不需要物流模塊但要記錄交易地點偏好比如只限本校圖書館自提。第三,換購包含了物物交換和補差價。這是這個項目和普通二手交易平臺最大的區(qū)別。用戶發(fā)布物品時除了標價還可以寫明想交換什么比如用一臺Kindle換一副降噪耳機可以補差價50元。這意味著訂單表的設計不能只有買家、賣家、金額三個字段。2.2 核心角色與功能邊界我把系統(tǒng)拆成前臺、后臺、輔助服務三塊:角色核心功能所屬框架普通學生注冊登錄、瀏覽物品、發(fā)布閑置、發(fā)起換購、留言詢問、確認收貨、評價Django系統(tǒng)管理員審核物品、處理舉報、用戶封禁、數(shù)據(jù)統(tǒng)計Django Admin Flask統(tǒng)計接口輔助服務物品推薦、瀏覽量統(tǒng)計、圖片壓縮、Excel導出Flask功能邊界定了之后頁面結(jié)構(gòu)就清楚了。前臺總共沒幾個頁面:首頁(物品流)、物品詳情、發(fā)布頁、個人中心、訂單列表、站內(nèi)信。管理后臺直接用Django Admin改一改就夠用不需要額外寫。2.3 交易狀態(tài)機:整個業(yè)務最核心的部分換購流程不是簡單的下單-付款-發(fā)貨-收貨因為存在雙方交換物品的情況狀態(tài)機必須多幾條分支。我自己項目里的狀態(tài)流轉(zhuǎn)是這樣設計的:用戶A發(fā)布物品X,狀態(tài)為在售。用戶B發(fā)起購買或換購請求物品X變?yōu)榻灰字型瑫r生成一條訂單記錄。雙方約定時間地點線下驗貨。雙方都在系統(tǒng)中點擊確認交換或確認收貨訂單變?yōu)橐淹瓿?。如果任何一方在交易中超時未確認可以申請取消訂單變?yōu)橐讶∠锲稾自動回到在售。單獨把換購拎出來說:當B提出我想用物品Y換你的X時系統(tǒng)要同時鎖定X和Y兩件物品直到雙方確認完成或者取消。這個雙向鎖定邏輯容易漏寫業(yè)務代碼里一定要同時處理兩個物品的狀態(tài)。3. 數(shù)據(jù)庫設計:換購業(yè)務的核心表長什么樣選型上我用了MySQL 8.0原因無他校園網(wǎng)環(huán)境里MySQL最通用后面查資料、找問題都容易。Django側(cè)用ORM管理表結(jié)構(gòu)Flask側(cè)通過SQLAlchemy讀取同一批表。3.1 用戶表與擴展資料表Django自帶的auth_user不要直接改而是建一張profile表一對一關(guān)聯(lián)。需要存的就是學號、學校郵箱、宿舍區(qū)域、信用分、頭像路徑。class Profile(models.Model): user models.OneToOneField(User, on_deletemodels.CASCADE, related_nameprofile) student_id models.CharField(max_length20, uniqueTrue, verbose_name學號) campus_email models.EmailField(uniqueTrue, verbose_name校園郵箱) dorm_area models.CharField(max_length50, blankTrue, verbose_name宿舍區(qū)域) credit_score models.IntegerField(default100, verbose_name信用分) avatar models.ImageField(upload_toavatars/, blankTrue)為什么不直接在User上加字段?因為Django的User模型被Admin、認證、session到處引用直接改字典字段容易在后續(xù)升級或第三方庫適配時報錯。一對一的Profile幾乎是所有Django項目的標準做法。3.2 物品表:狀態(tài)和換購意向是靈魂物品表是整個平臺的流量核心字段設計直接影響后續(xù)的檢索和交易。class Item(models.Model): STATUS_CHOICES [ (on_sale, 在售), (trading, 交易中), (sold, 已售出), (off_shelf, 已下架), ] title models.CharField(max_length100) category models.ForeignKey(Category, on_deletemodels.SET_NULL, nullTrue) description models.TextField() price models.DecimalField(max_digits8, decimal_places2) want_exchange models.CharField(max_length200, blankTrue, verbose_name想換的物品) condition_level models.IntegerField(choices[(i, f{i}成新) for i in range(1, 11)]) image models.ImageField(upload_toitems/) owner models.ForeignKey(User, on_deletemodels.CASCADE, related_nameitems) status models.CharField(max_length20, choicesSTATUS_CHOICES, defaulton_sale) view_count models.IntegerField(default0) created_at models.DateTimeField(auto_now_addTrue)這里有一個值得說的細節(jié):condition_level我用了0到10的成新度而不是幾乎全新/輕微使用痕跡這樣的模糊描述。原因很簡單:成新度便于后期用SQL做排序和篩選比如只看九成新以上的物品文本字段就沒法高效查。3.3 訂單表:換購和購買共用一張表我見過很多項目把購買訂單和換購訂單分成兩張表,這是個坑。因為換購本質(zhì)上就是雙方互為買家和賣家的交易拆成兩張表后查詢我參與過的所有交易就變得非常痛苦。正確的做法是用一張order表通過判斷exchange_item字段是否為空來區(qū)分交易類型:字段類型說明id主鍵訂單號itemFK主物品buyerFK發(fā)起交易的人sellerFK物品發(fā)布者exchange_itemFK可空若為換購則指向買家提供的物品priceDecimal成交價或補差價statusCharFieldpending / confirmed / completed / cancelledcreated_at / updated_atDateTime記錄時間關(guān)鍵邏輯是:如果exchange_item不為空那么這筆訂單成交時buyer的exchange_item狀態(tài)必須變?yōu)閟old同時item狀態(tài)變?yōu)閟old。這兩個更新必須放在同一個數(shù)據(jù)庫事務里否則會出現(xiàn)A以為換成功了、B的物品還掛著賣的數(shù)據(jù)錯亂。3.4 留言、舉報、評價表這三張表結(jié)構(gòu)都比較簡單。留言表關(guān)聯(lián)物品和用戶;舉報表關(guān)聯(lián)被舉報的物品或留言;評價表關(guān)聯(lián)訂單買家和賣家各自只能評價一次用order_id reviewer_id做聯(lián)合唯一約束。這些都屬于快速迭代的表先建起來后續(xù)有需求再加字段就行。數(shù)據(jù)庫設計這塊我的實際經(jīng)驗是:不要想著一步到位建出完美表結(jié)構(gòu)先讓核心交易閉環(huán)跑通再根據(jù)實際頁面反饋補索引和字段。這個項目里我最開始沒給item.status加索引結(jié)果數(shù)據(jù)量到幾千條時首頁查詢明顯變慢后來才補上。對課程設計級別的數(shù)據(jù)量來說這一步不做也沒事但知道了對答辯有好處。4. Django主站:從注冊登錄到訂單流轉(zhuǎn)的實現(xiàn)Django側(cè)承載了平臺的全部寫操作我按用戶-物品-訂單-后臺四條線來講。4.1 校園身份驗證:注冊時攔截非校園郵箱校園平臺最大的特色是身份可信所以注冊環(huán)節(jié)要攔住校外人。實現(xiàn)方式就是在UserCreationForm的子類里重寫clean_email強制郵箱后綴為學校域名。class CampusUserCreationForm(UserCreationForm): email forms.EmailField(requiredTrue) def clean_email(self): email self.cleaned_data[email].lower() if not email.endswith(your-university.edu.cn): raise forms.ValidationError(請使用校園郵箱注冊) return email這里的your-university.edu.cn替換成你自己的學校域名即可。另一個可選的驗證是讓用戶填學號再和管理員維護的學號表比對不過課程設計階段用郵箱后綴就夠用了。4.2 物品發(fā)布的圖片處理物品發(fā)布頁用ModelForm綁定Item模型圖片上傳這塊有幾個容易踩的坑。第一個是默認的ImageField一次只支持一張圖想支持多圖就得建一個ItemImage子表;第二個是用戶上傳的原圖動輒幾兆直接存服務器既浪費空間又拖慢頁面加載。我的做法是在保存時用Pillow把圖片壓縮兩份:一份是列表頁用的縮略圖(例如400x300裁剪)一份是詳情頁用的原圖(限制最大邊1600px)。上傳邏輯寫在form.save()里重寫:def save(self, commitTrue): item super().save(commitFalse) if self.cleaned_data.get(image): img Image.open(self.cleaned_data[image]) img.thumbnail((1600, 1600)) # 壓縮后保存到 MEDIA_ROOT并重新賦值路徑 if commit: item.save() return item這段代碼的核心意圖是:不要在模板里做任何圖片縮放全部在服務端生成好物理文件。Django模板層雖然也能做縮略圖但那是在每次請求時動態(tài)處理的高并發(fā)下CPU直接被打滿。4.3 訂單狀態(tài)機的事務控制當用戶B對物品X發(fā)起換購時要同時做三件事:創(chuàng)建訂單、把X的狀態(tài)改為交易中、把B的物品Y的狀態(tài)也改為交易中。這三個寫操作必須在一個原子事務里用Django的transaction.atomic包起來。from django.db import transaction transaction.atomic def create_exchange_order(item_x, item_y, buyer, price_diff): order Order.objects.create( itemitem_x, exchange_itemitem_y, buyerbuyer, selleritem_x.owner, priceprice_diff, statuspending, ) item_x.status trading item_x.save() item_y.status trading item_y.save() return order是否要用select_for_update()加行鎖?如果只是課程設計數(shù)據(jù)量小、并發(fā)低不加也能跑。但如果你在答辯時想展示自己對并發(fā)問題的理解這是絕佳素材。select_for_update()會在數(shù)據(jù)庫層面鎖定這兩件物品的行防止兩個用戶同時發(fā)起換購導致狀態(tài)錯亂。item_x Item.objects.select_for_update().get(pkitem_x_pk) item_y Item.objects.select_for_update().get(pkitem_y_pk)這里要提醒一句:select_for_update()必須在事務內(nèi)使用也就是說調(diào)用這個查詢的函數(shù)要被transaction.atomic包裹否則鎖會在查詢后立刻釋放起不到作用。4.4 用Django Admin做管理后臺管理后臺我?guī)缀鯖]有額外寫頁面全部靠Django Admin定制。核心配置就是把Item、Order、Report注冊進去并定制列表展示字段:admin.register(Item) class ItemAdmin(admin.ModelAdmin): list_display (title, owner, price, status, created_at) list_filter (status, category) search_fields (title, owner__username) actions [force_off_shelf] admin.action(description強制下架選中物品) def force_off_shelf(self, request, queryset): queryset.update(statusoff_shelf)actions自定義操作在處理舉報時非常管用:管理員在舉報列表里看到被舉報物品勾選、下拉選擇強制下架、執(zhí)行三步搞定。不需要寫任何前端代碼。5. Flask輔助服務:推薦接口和統(tǒng)計看板怎么落地Django把主要業(yè)務包圓了那Flask在項目里到底干什么?我這邊定了兩個明確的活:推薦接口和統(tǒng)計看板。這兩塊邏輯簡單、讀多寫少、和主流程解耦非常適合用Flask起一個輕量服務。5.1 Flask推薦接口:基于瀏覽記錄的簡單協(xié)同過濾推薦這塊不用整復雜的機器學習模型課程設計階段做看過這個物品的人還在看同類物品就夠了。算法原理很簡單:根據(jù)用戶在ItemViewLog表里的瀏覽記錄找出瀏覽過當前物品的所有用戶;再查這些用戶還瀏覽過哪些同分類的物品;按出現(xiàn)次數(shù)倒序取前6個排除用戶已擁有的物品。app.route(/api/recommend/int:item_id) def recommend(item_id): item db.session.get(Item, item_id) viewers [v.user_id for v in db.session.query(ItemViewLog).filter_by(item_iditem_id)] candidates {} for uid in viewers: for vlog in db.session.query(ItemViewLog).filter_by(user_iduid).all(): if vlog.item_id ! item_id: candidates[vlog.item_id] candidates.get(vlog.item_id, 0) 1 ranked sorted(candidates.items(), keylambda x: x[1], reverseTrue)[:6] return jsonify([{item_id: k} for k, _ in ranked])這段代碼本身沒什么技術(shù)含量但它在架構(gòu)上定義了Flask負責計算、Django負責展示的協(xié)作模式。前端頁面通過fetch(/api/recommend/3)拿到推薦列表再渲染物品卡片主站代碼保持干凈。5.2 統(tǒng)計看板:給管理員看的輕量報表第二個Flask接口是統(tǒng)計看板。我需要幾組數(shù)據(jù):每日發(fā)布物品數(shù)、當前在售物品分類占比、熱門物品Top10。直接在Flask里用SQLAlchemy聚合查詢?nèi)缓蠓祷豃SON前端用Chart.js渲染圖表。app.route(/api/stats/category) def stats_category(): rows db.session.query(Item.category_id, func.count(Item.id)).group_by(Item.category_id).all() return jsonify([{category_id: cid, count: cnt} for cid, cnt in rows])這個統(tǒng)計接口如果也塞進Django里代碼量和路由復雜度都會增加。放在Flask這邊整個Django項目只需要在Admin后臺里嵌一個iframe或?qū)懸粋€fetch調(diào)用就能展示圖表。5.3 雙框架共享同一個MySQL的模型一致性問題這是整個項目里最隱蔽的坑。Django的ORM會自動給模型加字段和約束比如多對多關(guān)系會生成中間表在某些情況下還有局部索引。Flask的SQLAlchemy模型是從零手工寫的兩邊字段定義稍有出入查詢結(jié)果就可能出問題輕則查不到數(shù)據(jù)重則SQLalchemy報字段不存在。我的經(jīng)驗是:以Django的模型為準Flask側(cè)只做只讀查詢的模型定義字段精簡到只定義要用到的部分并且不允許Flask側(cè)做任何寫操作。比如Item表在Flask側(cè)只需要定義id、title、category_id、price、status、view_count這幾個字段因為推薦和統(tǒng)計只用到這些。這樣兩邊模型的字段交集很小出錯的概率就低。還有一個細節(jié):created_at字段在Flasks側(cè)定義時必須加上timezoneTrue否則查出來的時間會比實際時間慢8小時。這個問題我排查了很久最后發(fā)現(xiàn)是Django啟用了USE_TZTrueMySQL里存的是UTC時間SQLAlchemy默認按本地時間解析兩邊時區(qū)沒有對齊。5.4 Flask服務的獨立部署Flask服務最終是作為一個獨立進程跑的。開發(fā)環(huán)境直接python app.py就行部署時我用Gunicorn來啟動和Django那邊的uWSGI區(qū)分開。這樣兩個服務互不干擾Flask掛了重啟FlaskDjango掛了重啟Django。gunicorn -w 2 -b 127.0.0.1:5001 app:app日志單獨寫到flask_app.log方便排查問題。6. 開發(fā)到部署階段的真實踩坑清單這部分是全文含金量最高的地方。以下每一條我都實際遇到過不給結(jié)論直接給排查思路。6.1 Python版本和Django版本之間的兼容性先檢查服務器上的Python版本再選Django版本。Django 4.2要求Python 3.10以上如果服務器是3.8裝新版Django直接報語法錯誤。我一開始在本地Windows上用Python 3.12開發(fā)一切正常部署到Linux服務器發(fā)現(xiàn)系統(tǒng)自帶的Python是3.8最后鎖定方案是Django 4.1.7 Flask 2.3兼容性最穩(wěn)。提示:做項目前先確定團隊或?qū)嶒炇曳掌鞯腜ython版本python3 --version一看便知不要想當然裝最新版。6.2 Pillow擴展庫裝不上的問題圖片處理依賴Pillow在純凈系統(tǒng)上經(jīng)常裝失敗。報錯信息通常是RequiredDependencyException: zlib或者jpeg。原因很直白:系統(tǒng)缺底層圖片庫。解決方式:# Ubuntu/Debian sudo apt-get install libjpeg-dev zlib1g-dev pip install Pillow6.3 圖片上傳后頁面404本地開發(fā)時MEDIA_URL和MEDIA_ROOT配置正確圖片能顯示。部署到Nginx后所有圖片路徑全部404。原因是Django本身不提供靜態(tài)文件服務Nginx需要把包括/media/和/static/在內(nèi)的路徑直接代理到服務器的物理目錄。Nginx配置里加一段:location /media/ { alias /var/www/project/media/; }這個坑幾乎人人都會踩因為這屬于Nginx配置不屬于Django代碼教程里很少寫清楚。6.4 表結(jié)構(gòu)改來改去的遷移災難開發(fā)過程中我多次修改Item模型導致遷移文件堆積數(shù)據(jù)庫狀態(tài)和模型不同步的怪問題時有出現(xiàn)。后來養(yǎng)成一個習慣:每次改模型前先python manage.py makemigrations --dry-run看看即將生成的遷移操作是否符合預期再真正執(zhí)行。如果已經(jīng)亂套了怎么辦?我的經(jīng)驗是別硬修遷移文件直接重置:python manage.py migrate app_name zero python manage.py makemigrations python manage.py migrate但前提是能接受清空該app的數(shù)據(jù)。開發(fā)階段無所謂如果是接近答辯的數(shù)據(jù),就不要這么干。6.5 換購并發(fā)導致的狀態(tài)錯亂有次測試時發(fā)現(xiàn),兩個同學同時點擊換購按鈕,同一件物品生成了兩筆訂單。原因就是查詢物品狀態(tài)和創(chuàng)建訂單不在一個事務里,也沒有加行鎖。修復方案前面已經(jīng)說了:select_for_update()加transaction.atomic。這是一個非常好的答辯回答題目,面試官問到如何防止超賣時,你拿這個項目里真實修過的bug舉例,說服力遠超背書。6.6 Django時區(qū)與MySQL時區(qū)不一致前面提到Flask側(cè)查時間差8小時,其實Django側(cè)也遇到過。解決方案是:# settings.py USE_TZ True TIME_ZONE Asia/Shanghai這樣Django在讀寫MySQL時會自動把UTC時間轉(zhuǎn)換為東八區(qū)。Flask側(cè)則是手動datetime.now(timezone.utc)或者直接查詢時加上convert_tz。6.7 雙服務部署時Nginx的upstream配置兩個服務同時跑,前端要同時訪問Django的/路徑和Flask的/api/路徑,靠Nginx路由區(qū)分:upstream django_backend { server 127.0.0.1:8000; } upstream flask_backend { server 127.0.0.1:5001; } server { listen 80; server_name your-domain.com; location /api/ { proxy_pass http://flask_backend; } location / { proxy_pass http://django_backend; } }這樣一個域名同時跑兩個Python Web應用,演示的時候不用來回切換端口,交互體驗也自然。6.8 頁面模板和靜態(tài)資源的重復加載最后是一個容易被忽略的性能問題。Django的模板是每次請求都渲染一遍,如果有高頻頁面(比如首頁物品流),建議加一層緩存。最簡單的做法是Django的cache_page裝飾器緩存首頁60秒:from django.views.decorators.cache import cache_page urlpatterns [ path(, cache_page(60)(views.index), nameindex), ]加完緩存后,首頁壓力大幅下降,Flask推薦接口那邊也輕松不少。7. 答辯演示和后續(xù)擴展的建議做完項目到真正演示還有一段距離。我見過實力不錯但演示翻車的,也見過功能一般但演示節(jié)奏極好的?;趯嶋H經(jīng)驗分享幾點。7.1 演示前準備好種子數(shù)據(jù)和錄屏不要現(xiàn)場發(fā)布物品、現(xiàn)場拍圖。提前把一個品類下放滿十幾件物品,圖片用真實拍的照片而非占位圖,這樣評委打開首頁時視覺效果好很多。同理,推薦接口的演示也別用空數(shù)據(jù)庫去測,先在ItemViewLog里造好一批瀏覽記錄,否則推薦結(jié)果永遠為空。錄屏軟件開好,萬一現(xiàn)場網(wǎng)絡不穩(wěn)定或者服務沒起來,放錄屏照樣能講完。7.2 講清楚框架邊界比講功能更重要答辯時評委最常問的就是:你為什么要用Flask,Django不能做推薦接口嗎? 這時候你把第1節(jié)的架構(gòu)圖往白板上一畫,說明寫操作集中在Django、讀密集的輔助服務放Flask、共享數(shù)據(jù)庫保證一致性,評委立刻知道你理解架構(gòu)設計,而不是只會堆功能。7.3 后續(xù)可以擴展的三個方向這個項目做完后,想進一步延伸可以考慮三條線:給物品加全文搜索,用Django的SearchVector或者接入Elasticsearch,解決物品多了之后分類篩選不好用的問題;把推薦服務升級成基于用戶行為排序的算法,比如根據(jù)分類偏好加權(quán),不改變架構(gòu),只改Flask側(cè)的計算邏輯;加Redis緩存熱點數(shù)據(jù),首頁物品流和推薦結(jié)果都緩存到Redis,進一步減輕數(shù)據(jù)庫壓力。我自己做這個項目的最大體會是:技術(shù)難點不在某個框架的API上,而在如何讓兩個框架各司其職、協(xié)同不打架。把這個問題想透,你就能從跟著教程敲代碼進階到真正理解Web應用怎么搭。希望這篇能幫你少走幾個彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩激情啪啪| 日本免费人成视频播放120秒| 亚洲91色| 欧美色五月| 色呦色呦色精品| 亚洲,日韩,欧美,成人播放 | 91精品老女人| 精品久久久中文字幕不| 九九aV| 72av视频| 亚洲精品1区| 91亚洲色人| 人妻天天爽夜夜爽2| 欧美99热| 四虎AV无码| 国模无码一区二区三区在线| 99re在线视频这里只有精品| 午夜综合在线| 精品视频日日夜夜| 日韩无码黄色片| 97se综合| 玖玖爱伊人玖玖爱| 久久这里精品国产99丫e6| 国产大学生口爆吞精合集| 色偷偷综合91久久噜噜| 国产亚洲色婷婷久久99精品91| 韩三级a视频在线观看| 国产日韩中文字幕欧美| 激情四射婷婷六月天| 亚洲综合网图| 无码自拍SM| 97亚洲综合影院| 国产极品久久久| 老司机深夜影院18未满| 2020久久免费视频| 国产一区二区在线电影| 性爱乱伦网址| 男人的天堂2018| 婷婷丁香一区二区三区| 99自拍视频在线| 亚洲精品a人片在线观看视| 日韩无码精品综合久久| 日韩人妻有码免费视频| 国人欧美精品一区二区| 91久久精品蜜臀| 国产一在线观看| 免费av在线播放二区| 热99这里有精品综合久久 | 亚洲色狠| 久久久99免费| 日本淫乱女一区二区三区视频| 亚洲综人| 97超碰欧美精品| 日本超碰色精品| 少妇高潮99p| 国产啊v在线免费播放| 成人一级性爱| 成人性爱全视频观看| 狠狠色噜噜狠狠狠狠狠色综合久久 | 久久色一区二区| 国产av尤物| 国产绿奴视频在线观看| 一级性爱视频免费观看| 午夜精品久久一区二区| 精品亚洲国产成人精品| 婷婷丁香六月| 91美女中出| 九九久久久九九| 爱我干综合| 九九精品热| 伊人久久大香大香线蕉中文| 午夜男女爽爽爽在线视频| 国模精品一区二区三区苹果色戒| 欧美乱色| 亚洲大色堂| 男人精品天堂一区| 999精品乱码| 午夜视频久久久久一区| 欧美综合色图网| 天天日少妇逼AV| 少妇毛片久久| 激情内射| 东北女人高潮视频| 一本一道波多野毛片中文在线| 在线中文字幕极品av| 99无码精品| 玖玖在线视频| 亚洲欧洲日韩中文字幕一区| 91足交| 99热| 国产免费小视频| 日韩免费在线视频观看| 一区二区首页| 欧美亚洲在线| 欧美性高潮在线| 国产一区二区三区免费视频在性观看 | 亚洲精品97| 国产精品宅男免费| 色综合加勒比四四季| 久久精品欧美一区蜜桃| 久久久性少妇| 国产 丝袜 欧美中文 另类| 9999免费精彩视频| 久久久久网站-538在线视频-欧美永久乱码 | 在线中文字幕极品av| 国产欧美伊人| 中日韩一区二区三区欧美| 日韩熟女无码| 色av中文字| 亚洲日韩狠狠撸视频| 97爱综合| 99热在线观看| 久久大| 日本三级中国三级99人妇网站| 日韩美女高潮喷水视频| 欧美精品99久久久**| 99久久99九九99九九九| 啊嗯嗯啊好大好爽| AV乱伦国产| 麻豆天美国美国产AV| 国产乱不卡| 亚洲精品第一| 欧美日韩资源| 欧美色棕合| 搡老女人老91二区| 久9热| 熟妇激情| 色婷婷小说| 玖玖爱视频网站| 97操97色| 久久久精品中文字幕爱豆| 丝袜美腿欧美| 69XX一中文字幕人妻91| 乱老熟女一区二区三区| 久久av一级av少妇av高潮| 欧美亚洲厕所精品偷拍91| 精品一区二区综合熟妇| 欧美色图91| 亚洲精品男人的天堂| 人妻丝袜一区二区三区在线| 亚洲天堂中文字幕无码男同| 青青在线视频免费| 性爱免费视频成人| 天美av在线| 97视频在线观看播放与子乱对白在线……| 精品日日人妻| 在线啊啊啊啊| 国产99精品一区二区三区免费| 狠操91,com| 国产中文字幕曰本毛片| 欧美日韩传媒| 黄色一区三区| 天天日天天爽| 国产一级137片内射麻豆| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 屁股久久久久久久久| 亚洲日韩精品在线播放| 91亚洲综合| 婷婷另类小说| 国产av白丝| 久久久精品91八戒| 中文字幕精品码亚洲| 超碰97在线 欧美 国产| 人妻精品一区二区在线| heyZO天然素人无码AⅤ专区| 九九九九九精品视频| 九九久久一区二区三区| 国产一级作爱毛片| 午夜男女爽爽大片免费观看| 欧美第一页| 美女诱惑爱爱| 色爱三区| 日本性感人妻91| 加勒比东京热五月天天堂网| 国产精品久久久视频| 手机在线视频国内精品| 精品无码秘 人妻一区二区| 日本顶级天天操狠狠操夜夜操中文字幕| 性色av婷婷久久一区二区点复制| 岛国毛片手机在线观看| 情趣丝袜无码操逼视频| 中国AAAAAA黄色片| 97超碰中文在线| 无卡一区=区| 人妻精品一区二区全免费| 亚洲欧美国产va在线播放频| 2017天天操天天日| 亚洲欧美国产va在线| 蜜桃色色网站视频三区| 婷婷五月天影院| 亚洲精品天堂久久A∨51成人漫| 久操国产在线| 久久高潮妇女视频| 97超碰超| 久草看看看| 国内外毛片在线观看| 91美女在线视频| 人人喜人人妻| 国产精品久久久亚洲一区| 日本肉体xxxx裸交| 婷婷五月天激情小说| 日本人人操人人操| 亚洲精品a人片在线观看视| 成人五级久久| 懂色Av一区二区三区| 色麻豆AV| 欧美色图小说综合| 好爽要喷了| 精品少妇人妻一区二区三区| 啊啊啊轻点在线观看| 成人天天爽| 福利大香蕉| 丝袜狂射91| 欧美综合777| 偷拍2020| 国产成人五月天丁香花| 一区二区三区高清 | 91热爆在线| 九月丁香婷婷| 青青草白白色| 208天天久久九九九| 在线情色电影 91大| 少妇第一页| 免费97视频| 久操| 强奸乱伦 亚洲一区| 国产精品夜夜夜| 磁力99AV| 五月天人妻综合| 男人综合网| 亚洲不卡三级手机播放| 久久久久久久九九九九九九| 强奸乱伦Av网| www超碰| 九九热精品视频在线观看| 婷婷色色网| 欧美熟妇视频| 999 久久久| 亚洲人妻五月丁香婷婷| 免费A片三p视频| 欧亚性爱在线视频| 色播综合| 激情内射| 欧美性爱18观看| 青青草丝袜在线视频| 99综合网| 色老牛| 欧美亚洲首页| 国产网红精品| 亚洲精品天天影视综合网| 色欲色香天天天综合网www-亚洲综合国| 欧美一区二区三熟女剧情| 欧美激情精品| 日本色色色视频| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 日本色色色| 欧美专利1区2区3区4区5区免费| 台湾大香蕉99热| 骚乳在线| 欧美亚洲在线| 亚洲中文字幕久久人妻| 秋霞男人网| 欧美 亚洲精品首页| 国模私拍一区二区三区神乳| 色区久久| 9ⅰ久久久天天| 人人看黄色视频| 国产精品电影| 日本免费一区二区不卡| 日本 色 导航| 欧美A√综合网| 欧美日韩欧美| 色婷婷99| 在线 欧美 亚洲| 亚洲成人免费中文字幕| 国产白嫩精品久久| 国产精品69久久久久久久| 国产成人欧美精品在线| www色日本| 中文字幕97色| 青青伊人这里只有精品| 91强在线播放| 无码最新| 日本三级精品| 99色热| 欧美日韩亚洲国产中文永久天天看| 最新亚洲人成网站在线影院| 日韩99999色| 久久免费9| 亚洲色久| 久久嫩草| 97中文超碰| 欧美色图色综合| 久久天堂婷婷网| 久久9精品| 黑丝少妇在线观看| 色妇综合网| 久久精品一区二区三区不卡| 色97干| 9久综合网| 色香欲影| 中文字幕88av在线| 2021久久国产综合精品青草| 欧美日本不卡在线| 青青操青娱乐| av在线播放国产一区| 99999无码| 午夜福利国产欧美日韩夜夜| 少妇与黑人高潮在线| 亚洲在线网站| 一区二区视频你懂的| 欧美强奸乱能| 老熟乱一区二区三区四区| 色五月婷婷麻豆在| 强奸乱伦AV网址| 性性欧美| 九九av| 国产无码三级视频在线观看| 不卡一区视频| 无码伊人久久大杳蕉中文无码| 精品人妻一区二区三区不卡断| 久操婷婷| 欧美精品久久久久久久丰满| 97精品中文字幕| 高清国产av无码| 熟女人妻一区二区三区免费看 | 99re99在线视频| 视频二区美腿丝袜制服人妻欧美| 日韩国产精品人妻无码久久久| 国产亚洲色婷婷久久99精品91葵花宝典 | 色婷婷国产精品一区在线观看| 熟女色图在线| 影音先锋中文字幕日本好一区二区| 男人的天堂Va| 天堂在线一区二区| 天天操夜夜操| 亚洲 一区二区 自拍| 97超碰精品图片| 日本一区99| AV综合中文字幕干| 亚洲图片欧洲图片aⅴ| 超碰97丝袜| 欧美激情色婷婷花野真衣一区二区| 亚洲第一无码播放立川理惠| 俄罗斯及免费在线看| 97网址97| 日韩少妇丰满亚洲| 久久久一区二区三区四曲免费听| 国产 日韩 欧美高清| 丝袜 中出 制服 人妻 美腿 中文字幕| 美女的肌被草喷水视频| julia高潮后不停追击中出| 精品国产一区二区三区香蕉欧美| 国产精品久久| 国产精品网址| 校园春色亚洲色图| 欧美热图99| AV99热18这里只有精品| 开心六月色| 91国产精品在线看| 97最新在线播放视频| 中文字幕精品一区二| 蜜臀久久99精品久久久久久婷婷| 国产夫妻性生活视频| 青青草手机在线免费观看| 一起草av| www.色五月| 尤物一级在线免费观看| 久久婷婷综合国际产色怕| 操人人| 精品人妻中文字幕高清| 日本αv| 探花精品 一区二区| 青青青草原| 亚洲日韩欧美一区二区| 超碰碰小说97| 香蕉人人操tv| 精品中文字幕一区二区l - 百度| 欧美成人四级在线播放| 丁香六月东京热| 欧美亚洲第一页| 人人 操人人 操人人| 思思热在线视频免费| 男女啪啪啪18禁网站| 女性91网站| 久久午夜色播影院免费高清| 3PAV乱伦视频| 亚洲黄色视频在线观看视频| 91伊人久| 国产精品免费视频人成| 日韩人妻一区二区精品| 国产无马av| 国产日比| 欧美三级免费伊人| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 97在线精品| 色色色热| 欧美色图天堂网m| 啊啊啊啊操死我了| 欧美,亚洲,日韩,v,天堂,手机在线观看 | 91超碰在线| 12一15性XXXX粉嫩国产| 国产最新小视频在线播放下载| 看大黄色大片原件| 国产超碰| 草莓精品视频在线免费观看| 芊芊操逼视频无码| 日韩精品一区二区三区色欲 | 91天天| 精品人妻1区| 可以免费观看的日韩av毛片| 91N欧美| 天堂射| 香港久久久| 超碰97人妻在线| 人妻啪| 中文字幕 国产 精品| 玖玖综合.com| 婷婷久草| 女人与公拘交酡2020视频| 色色色色日本| 91xingse| 国产精品3| 777超碰| 国产操逼逼网| 亚洲精品819| 精品国产久久乱码| 久久久久久久精| 国产精品无码av在线| 玖玖在线视频| 亚州九九九精品视频| 麻豆精品.欧美精品.日韩精品.| 亚洲无码 国产无码| 亚洲精品a人片在线观看视| 混色激情av| 天欧美在线| 欧美夜夜草视频| 色五月激情综合网| 91色综合色| a亚洲欧美色欲| www.99视频| 精品人妻一二三四区视频| 久久人妻| 99精品热| 色色婷| 亚洲素人网| 国产精品久久久久久亚洲色欲| 人妻熟女av国产网站| 久草毛片电影怡| 91黑人狂躁丰满熟妇| 色色色色电影网| 密臀AV在线| 26UUU欧美日本| 污啪啪啪视频| henhen91| 久久人妻办公室视频| 综合大香蕉美。| 成年女人黄网站| 啊啊啊97视频| 久久天天艹| 九X超碰| 久久永久无码人妻视频| 91东北熟女| 91丝袜视频在线观看| 黄片www视频免费| 小明看看网址| 亚洲日韩美女丝袜美腿人妻视频| 亚洲情色中文字幕一区| 天操老女人| 26uuu国产日韩综合在线观看| 啊啊啊啊好疼| 天天爱天天操| 青草综合| 白丝jkav| www国产天美久久久| 91嫩草在线| 8050午夜少妇无码| 日日骚一区二区三区| 国产精品老师| 人妻欧美| 亚洲欧美爆| 9丨亚洲一区二区在线| 美女啪欧美一区| 亚洲色图尤物视频| 青青草好吊| 色色激情| jizz啪啪| 啊啊啊轻点在线观看| 婷婷伊人| 无遮挡男女激烈动态图| 骚熟女吞| www.狠狠| 一级日本牲交大片好爽在线看| 大香蕉免费3| 国产精品视频播放| 久久久久久久久久8888| 丰满人妻区一区二区三| 97超级欧美| 欧美极度丰满熟妇hd| 久久久久久久| 97看操| 久久久精品视频免费观看| 综合欧美色图| 黄色不卡视频| 中文字幕在线免费观看视频| 激情熟女12P| 亚州欧美综合| 天天综合日韩网| 激情抓乳插进去啪啪啪日韩 | 精品国产久热在线观看| 国产综合色精品在线观看| 麻豆国产第一| 亚洲成人av色网| 黄片免费久久久久久久| 久久久久亚洲| 久久风骚城市| 嗯嗯啊啊好疼| www.欧精品| 国产午夜激片Av毛片不卡| 天天久久| 女上位精品在线| 欧美综合色站| 日本欧美成人片AAAA| 国产在线强奸视频| 最近二区三区视频大全| 天天综合站| 99re69综合| 九九九九久久久| 91强热人妻| 日本操逼视频在线| 久久久久成人网| 综合网97| 亚洲少妇在线影音| 亚洲男人的天堂一区二区| 国产精品久久久久综合| 国产福利在线视频网站| 丰满美女一级毛片在线播放| 亚洲视频精选| 久久老熟女| 久久久久久免费电影| 欧美一区二区三区四区综合| 老熟女91| 偷拍精品一区二区三区| 欧美亚洲小说| 韩国三级色呦呦| 97超碰欧美精品| 欧美色图99| 偷拍欧美亚洲| 老鸭窝在线视频播放| 日韩色图 一区二区| 97超碰巨乳| 成人在线视频一区| 超碰这里只有精品| 日韩资源网| 中文字幕十五区| 免费久久9999| 青青草狠狠撸| 视频在线中文字幕| 黄站在线免费观看| 久久久月天| 啊啊啊啊免费视频| 91黑丝在线| 国产老太乱伦一区| 家庭乱伦国产精品| 九月激情婷婷| 日本丝袜人妻内射| 抽插无码高清一区| 9 9精品一区二区三区| 3571色综合一区二区二区| 久久麻豆一区二区| 国产精品制服丝袜中文字幕日韩一区二区三区| 国产人伦精品一区二区三区| 91色图片| 男人的天堂久久狠| 亚洲高清色综合| 日本精品五区| 人妻丰满熟妇一区二区三| 日日操丁香五月天| 99热超碰在线| 久久一区,青青青青草视频在线播放| 国产黄色动态精品| 99re综合伊人| 亚洲超碰97| 成人a级高清视频在线观看| 成人aⅴ一区二区三区| 操屄不卡视频| 成人影 天天操 亚洲| 精品无码人妻一区二区免费蜜桃| 欧美色吧综合| 精品无码久久久久久久杏吧| 欧美精品成人在线播放| 探花激情视频| 中文字幕一区二区三区人妻少妇在线| 久久久久亚洲精品| 蜜屁av| 四虎国产精品永久入口| 久久欧美性爱视频| 日本九九久久99播| 暴力av在线| 人人干人人操人人爱| 亚洲第一在线视频| 日本 免费 一区二区三区 久久香蕉 | 91总综合网| 亚洲精品黄码久久久久| 中文字幕AV乱伦| 丁香五月自拍| 神马久久69| 成人线上超碰| 爱我干综合| 亚州中文字幕超碰97| 欧美美女视频| 精品区国产区一区二区三区| 欧美色图私拍91| 91女色| 欧美性巨大╳╳╳╳╳高跟鞋| 啪啪91| 5252色欧美在线男人的天堂| 中文字幕五月婷婷免费| 你操综合| 97国产精品一区| 在线无码操| 国产精品网站免费| 搡老熟女免费视频 | 欧美国产精品久久九九| 色婷婷五月天| 就去色综合| 一区二区视频在线播放| 精品人妻一区二区三区视频| 一道α片欧美| 欧美黑人猛交春色影视大全| 欧美姓爱综合网| www.人人cao| 色偷偷超碰亚洲| 无码精品久久久天天影视| 男人天堂久久日韩| 26uuu最新| 久久99国产综合精品女同| 伊色久人大在线| 五月丁香综合| 美欧色综合| 人妻少妇久久久| 熟妇色99| 99色悠悠| 国产精品黑人一区二区三区| 中文字幕 一区二区 亚洲无码| 天天噜| 97日本超碰综合| 日日摸天天爽夜夜欢| 国产精品老熟女一区二区| 好爽免费视频| 丁香五月天婷婷姐| 亚洲āv网址在线观看| 夜夜操91744565| 黄色香蕉视频网站一区| 亚洲人妖网| 日本无码1| 激情四射婷婷六月天| 国模精品一区二区三区苹果色戒 | 91久操| 日韩一级二级三级在线不卡观看完整| 日本91白丝| 97无码视频在线播放| 色色99| 久久美女国产| 成人开心网在线视频| 免费黄色视频网址| 懂色Av| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 欧美传媒| 91久久国外网| 成人精品在线观看| 亚洲国产成人精品久久久国产成人一区二区 | 超碰久草| 中文字幕二区日韩天堂| 无码人妻一区二区三区色欲aⅴ| 中文字幕超碰CAO| 黄色欧美性爱视频| 中文字幕后石码四区五区| 日韩AV中文字幕电影| 少妇xx精品| 美欧色综合| 欧美日韩国产电影| 99热色精品| 激情五月天插| 大香蕉中文201| 懂色AV中文| 亚洲日本韩国在线| 久操操AV电影| 99色热| 亚洲自拍欧美国产首页网曝| 欧美刺激色黄片免费看| 日韩无码一级黄色av片| 欧美熟女逼久久久久久| 天天摸天天插天天日| 欧美亚洲| 一区二区三区美女超清| 中文字幕青青草| 亚洲永久AV无码精品秋霞| 色色色99| 欧美不卡二区| 一级性爱视频免费观看 | www色色色com| 久久国产乱子伦精品免费女人| 大鸡巴久久| B049AV在线播放| 国产极品999| 久久激情视频| 日本视频一区二区三区| 国产偷人伦激情在线观看| 婷婷探花久久精品一区| 欧洲与亚洲欧美精品中文字幕| 91黑丝露脚| 日本精品高清一二区一本到| 国产传媒午夜理伦精品| 丰满少妇一区二区三区免费看| 欧美最大综合网| 欧美性爱一区二区三区四区| 亚洲另类久操网| 亚洲无码99| 思思热免费视频观看| 影视综合无码少妇| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 女人被男人桶爽视频网站| 高潮精品| 91黑丝在线| 天堂性色| 欧美日韩亚洲天堂| 青青草依人大香蕉| 正宗无毛一线天嫩逼| 天天插天天操天天摸天天射天天看| 欧美日韩理论一区| 国产久久一区二区三区野外在线| 夜夜爽77777| 五月天激情小说| 99久久婷婷国产综合精品草原| 视频分类 国内精品| 亚洲第一黄色av网站 | 玖玖资源视频一区二区三区| 亚洲高清男人天堂| 超碰久草| 99久久久| 狼人狠干| 欧美97| 2019天天干| 亚洲天天在线| 成人精品在线免费视频| 国产精品成人AV片免费看网站 | WWW.加勒比人妻一区不卡.com| 91撸色网 玖玖网 欧美| 精品然女一区二区| 午夜福利在线合集| 免费男人的天堂| 欧美三四五区| 国产极品馒头逼| 中国操逼无码| 日韩欧美tv一区二区在线观看| 岛国AB视频| 麻豆国产免费影片| 精品久久久久,69国产成人精| www.97在线| 亚州久久9| 天天搞欧美| 四虎影视欧美| 亚洲国产精品成人综合| 玖玖资源中文字幕制服丝袜| 日韩资源网| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 超碰在线国产| 91女网站| 中国黄色特级精品一区二区三区片| 欧美人妻一区二区| 丰满人妻区一区二区三| 国产精品人人爽人人做可爱福利| 福利在线黄片| 久久色激情一区二区三区| 伊人 俄罗斯 a v| 欧美熟妇色| 欧美日韩黄片精品在线| 欧美成人一区二区三区在线播放| A V少妇特黄三级| 亚洲激情天堂网| 91丝袜人妻| 自拍偷拍国产欧美日韩韩| 国产一区二区三区导航| 欧美 亚洲 制服 精品| 欧美在线视频播放| 97日韩欧美| 亚洲最大的综合性av| 欧美精品人妻视频| 欧美激情黑人| 日本中文字幕不卡视频| 秋霞一级视频在线观看免费| 欧美亚洲第1页| 快播电影网日韩新片| 日本欧美一区二区三区视频麻豆| 久久婷婷影院| s片在线观看| 国产亚洲色婷婷久久99精品91 - 百度 | 欧美专利1区2区3区4区5区免费| 劲爆欧美人妖三区91| 91色图| 大香蕉久操| 91精品久久久久久久久久| 2020久久免费视频| 五月婷婷综合在线| 天天综合站| 日韩国产不卡在线视频| 亚洲熟妇乱女区二区三区| 好湿好紧视频| 无码乱人伦中文视频| 国产乱弄免费在线视频。| 老熟女网站| 午夜大香蕉| 久久9免费视频| 伊人网综合在线视频| 亚洲限制级在线| http://qxhbdz.com| 精品免费成人久久| 欧美日韩性爱无码| 国产第二页| 午夜超爽| 大香蕉伊在线久草麻豆天堂故事| 日韩免费a级毛片无码a∨| 亚洲欧美精品一区天堂久久 | 囯产精品久久久久久久久久二区三区| 一块操欧美| 中日992视频| 成人av动漫在线观看| 国产女人9999| 国产操逼逼网| 久草线上视频免费看| 色欲蜜臀AV| 久久6热精品99视频| 操迟操逼在巾线Fre看| 天天综合网1| 在线欧美69V免费观看视频| 欧美夜色| 欧美少妇性爱网站| 嗯嗯啊啊的视频| 黄片在线免费在线观看| 熟妇无码视频三区| 大香蕉五月天| 亚洲综合伊人无码久久| 91操碰| 日日骚中文字幕| 麻豆黄色五月天| 久久国产在线一区二区| 青青国产在线拍揄自揄拍| 欧美精品一区二区少妇免费A片| 亚州色图欧美| 免费操逼视频下载| 亚洲交性| 日日日啊啊啊| 日韩操逼HD| 老鸭窝成人| 97色在线观看| 欧美性生活免费网| 精品国产乱码久久久影院| 五月婷婷色| 欧洲在线性爱视频| 日韩欧美水蜜桃人妻| 操屄不卡视频| 无码人妻一区二区三区免费九色| 欧美中文字幕一区 | 日韩资源网| 日韩免费性爱视频在线观看| 人人操人人肉久久精品| 青青草色情网站视频| 欧美日韩 强奸乱伦| 91亚洲网站| 神马午夜久久久| 亚洲强奸乱伦影视网| 国产精品久久久久久久久久久久久久吹 | 日韩av不卡在线看| 玖玖爱伊人玖玖爱| 亚洲 欧美 中文 日韩超碰| 国产成人无码a| 91欧美少妇| 亚洲国产一级中文综合久久天堂在线免费观看 | 五月丁香色综合| 一个人免费视频观看在线WWW| 色香综合天天影视综合 | 欧美专区17页| 伊人久久国产免费观看视频| 精品一区二区人妖| 亚洲本色精品一区二区久久| 免费超碰97久久| 超碰79人人乐| 日本色色色视频| 国内毛片欧美香蕉精品| 丝袜美腿91| 小明看看网址| 欧美三级一级| 色九区| av网页一区二区三区| 九九碰九九爱97超| 中文字幕一二三av| 试看福利| 干B视频伊人网| 9色在线| 天天天天天天天天天天干美女| 女沟厕偷窥piss小便| 日韩欧美麻豆 | 中文字幕人成乱码熟女香港| 亚洲久久久| 性欧美| 97网址97| 91真人天天在线| 97干在线看| 五月丁香六月激情综合| 在线观看精品国产免费| 黄片视频,下载| 中英熟女操女| 亚州欧美色图| 国产AV中文| 日日干日日摸| 99精品综合久久久久五月天| 97在线青| 日本精品性生活久久久| av操操不卡| 91蜜臀在线久久久久| 大香蕉AV在线| 综合色99| 中文字幕在线免费观看视频| 国产亚洲色婷婷久久99精品91葵花宝典 | 国产精品交换一区二区| 99视频内射三四| 久久婷婷热| 日本网色| 激情五月丁香五月| 69精品人人人人| 超碰在线看| 亚洲激情综合| 91人妻在线视频| 九九九一二三| 九九九九九精品视频| 78精品| 亚洲欧美色图片| 大JI巴好深好爽又大又粗视频| 四虎影视精品| 国产精品剧情| 日本成a人v网站在线观看| 屁股久久久久久久| 一级性爱视频免费观看 | 日本性爱欧美性爱| 久久美女国产| 亚洲成人性爱在线观看| 国产CHASE男男GAYGA 毛多色婷婷| 亚洲天堂7777| 婷婷久久五月| 六六久久日韩不卡| av情色影音| 欧美 日韩 婷婷 五月| 97超碰精品成| 超碰久久.com| 呦呦一区| 日韩免费三级黄片电影| 久久国产性爱| 国产精品久久久久久久久AV大片| 婷婷综合激情| 台湾佬中文娱乐自偷自拍| 欧美性爱网97| 欧美日日人人天天| 新怡红院| 欧美成人免费在线观看| 日韩在线性爱免费视频| 成人性爱电影一区二区| 91久久精品蜜臀| 330Dv国产女人终合视频极品人与兽| 老女人碰碰在线碰碰视频| 欧美性天天影院| 97欧美日韩综合| 三级日本一区二区三区| 黄片com.| 欧美有码激情视频一区二区三区| 婷婷五月天久久精品视频一区二区三区 | 久日综合网| 91宗合网| 亚洲国产欧美另类自拍| 免费久久精品麻豆一区二区av| 熟妇熟女亚洲天堂网| 东京热不卡视频| 69一区二区三区 | 日韩内射视频| 99热这里只有精品1| 成人羞羞视频国产| 成人免费在线网站| 怡红院怡春院| 97爱爱官网| 欧美亚洲素人制服精品| 超碰av在线| 欧美日动态视频| 蜜臀久久99精品久久久久久婷婷| 欧美成人A天堂片在线观看| 天天干一干| 久久久九九| 日本性交操一区二区不卡系列| 国产福利精品最新在线| 久久色一区二区| 人人妻人人玩人人澡人人爽| 国产高清成人mv在线观看| 国产精品国产自产拍高清AV| 国产三级中文字幕粉嫩 | 色综和网| 张柏芝国产一区在线观看| 大香蕉黄色一区| 日韩精品作爱导航| 超碰欧美| 91五月天| 亚洲色图 91| 精品久久久久av影院| 国产一区麻豆免费观看| 亚洲高清综合网| 久久美女福利是上海美女| 成人久久精品| 欧美日韩啪啪电影| 俺去久久| 狠狠爱大香蕉| 99热网站| 又黄又硬又粗又长国产视频| 啪啪啪精品视频| 久草在| 天天操人人操狠狠插| 男人下部插入女人下部| 女性91网站| 青草视频在线看看看看看看看看看| 安微少妇操BBB| 另类小色呦| 天天草AV| 国产区性爱在线视频秋霞豆| 偷拍综合亚洲| 围产精品一区二区三区视频播放| 国产精品suv一区| 26UUU欧美激情一区二区| 美国久久一二三四| 午夜操逼不卡| 亚洲国内精品成人不卡| 一区二区三区黄色片a| 久插综合| 免费一级黄色录像影片| 亚洲诱惑| 午夜偷拍久久熟女| 夜夜免费视频| 人妻激情偷乱视三区频一区二区| 97综合久第一页| 夜夜草网站| AV女优男人的天堂| 玖玖97综合 | 一区二区 韩日AV| 精品午夜福利导航| 日韩av熟女一区二区三区成人| 1769一区| 欧美 亚洲 另类 综合| 欧美性巨大╳╳╳╳╳高跟鞋| 欧洲大香蕉| 伊人久久婷婷| 91天天| 欧美日韩婷婷中文| 日操粉逼逼| 91欧| 真实高潮91| 97精品熟女少妇一区| 日韩毛片9| 香蕉在线一区二区三区| 国产精品日本无码A片| 日本99一区二区| 人人操人人大香蕉| 色综合91好| 伊人国产视频| 91free福利| 日韩免费a级毛片无码a∨| 日韩精品操少妇| 成人性爱电影网| 69国产对白刺激| 97免费视频在线观看视频| 另类在线| 尤物视频一区| 中文字幕一区二区三区人妻不卡| 欧美日韩免费专区在线| 97人妻免费中文字幕| 国产精品不卡少妇白| 日日夜夜国产综合| 国产精品亚洲美女久久久久| 97碰| 欧美精品不卡一二三四在线91| 久久极品一区二区| 欧美日韩一区二区三区四区蜜桃| 春色91| 欧美色图下一页| 激情五月综合| 亚洲欧美一区二区不卡视频播放 | 91bbbbbb| 日本五十路在线| 亚州少妇| 91精品伊人久久久大香线蕉91| 日本韩高清无砖码22o| 91N综合网在线| 亚洲免费精品一区| 激情久久av一区av二区av| 国产二区三区免费视频| 欧美,日韩,中文,另类| 69人妻精品丰满熟女区| 99自拍视频| 久久精品店| 国产精品分类在线观看| 欧美日韩第一页| 加勒比综合在线| 综合网少妇| 欧美中字不卡| av操操不卡| 这里只有精品久久| 中文字幕免费看大片| 香伊人在线| 日日摸日日碰夜夜爽视频| 超碰午夜| 插老姨肥穴| 精品国产乱码久久久久久久久1 | 黄色av网站在线播放| 91色图| 91白嫩| 亚洲一二三四区在线免费看视频| 色综合潮| 97玖玖人妻| 97久久资源| 久久激情五月| 亚洲精品日日夜夜52| 国产大学生口爆吞精合集| 欧美日韩*字幕一区| 91精品国产91久久青草| 东京太热男人的天堂久久久| 欧美成人精品一区二区男人蜜臀| 大乔未久88一区| 北京美女一区二区| 国产亚卅97| 99青青草国产视频| 麻豆影音天美视频| 久草资源在线视频官方总站日韩丝袜美腿| 天天影视网综合少妇| 91视频国品一二三区| 夜夜爽33333| 91蜜臀熟女| 奸色色 男人天堂 天天射| 亚洲,欧美,春色,另类| 红杏大香蕉| 欧美熟妇视频| 嗯嗯啊啊操死我| 日本精品国产视频| 久久日本熟妇熟色高清| 60秒免费小视频| 牛牛久久国产精品视频一二三| 97久久免费| 国产人妻精品一区二区三区秋霞| 91爱欧美| 色噜噜人妻av中文字幕| 亚洲色图日韩丝袜制服一区二区五月在线 | 精品久久久久久中文字幕视频免费| 91青青草| 26uuu成人影片| www.91理论| 爱射综合|