99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

Django手機(jī)商城實(shí)戰(zhàn):SPU+SKU架構(gòu)與訂單狀態(tài)機(jī)

Django手機(jī)商城實(shí)戰(zhàn):SPU+SKU架構(gòu)與訂單狀態(tài)機(jī) 簡(jiǎn)介這是一份基于Django框架開發(fā)的Python全棧實(shí)戰(zhàn)項(xiàng)目——手機(jī)商城面向具備基礎(chǔ)Python和Web開發(fā)能力的學(xué)習(xí)者適用于全棧入門實(shí)踐、課程設(shè)計(jì)或畢業(yè)設(shè)計(jì)參考。項(xiàng)目采用前后端分離架構(gòu)后端使用Django構(gòu)建管理后臺(tái)與API服務(wù)前端為微信小程序?qū)W⑸唐氛故尽g覽與交互邏輯完整覆蓋用戶端核心業(yè)務(wù)流程。資源包共102個(gè)文件含16個(gè)Python后端邏輯文件models/views/urls等、13個(gè)JS與9個(gè)WXML/WXSS構(gòu)成的小程序頁(yè)面邏輯與樣式、11個(gè)PNG/JPG商品圖及4個(gè)HTML管理界面模板另有SQLite數(shù)據(jù)庫(kù)文件與README說(shuō)明整體僅497KB輕量易部署。已有154人學(xué)習(xí)下載讀者可直接運(yùn)行調(diào)試掌握Django RESTful接口設(shè)計(jì)、小程序數(shù)據(jù)綁定、靜態(tài)資源組織及小型電商系統(tǒng)目錄結(jié)構(gòu)劃分等關(guān)鍵實(shí)踐能力。1. 一個(gè)能當(dāng)天跑通、次日上線的 Django 手機(jī)商城不是教學(xué) Demo是真實(shí)可交付的最小閉環(huán)你有沒有試過下載一個(gè)標(biāo)著“Django 全棧項(xiàng)目”的源碼包解壓后發(fā)現(xiàn)首頁(yè)能打開但加購(gòu)物車報(bào) 500用戶注冊(cè)頁(yè)面有表單提交卻提示IntegrityError: null value in column email后臺(tái)管理里商品列表空空如也連一張測(cè)試圖都沒有這不是你的環(huán)境問題——這是絕大多數(shù)所謂“完整項(xiàng)目”最真實(shí)的交付狀態(tài)。而這個(gè)基于 Django 框架的手機(jī)商城我上周在某高校實(shí)驗(yàn)室?guī)?A 同學(xué)部署時(shí)從git clone到完成三筆模擬訂單含微信支付回調(diào)模擬、庫(kù)存扣減、訂單狀態(tài)流轉(zhuǎn)只用了 3 小時(shí) 42 分鐘。它不追求炫酷前端但每個(gè)模塊都帶真實(shí)數(shù)據(jù)遷移腳本、預(yù)置管理員賬號(hào)、可切換的本地/開發(fā)/生產(chǎn)配置它沒用 Vue 或 React 套殼而是用 Django 自帶模板系統(tǒng) Bootstrap 5 實(shí)現(xiàn)響應(yīng)式布局所有頁(yè)面在 iPhone 14 Pro 上實(shí)測(cè)可點(diǎn)擊、可滑動(dòng)、可下單。適合剛學(xué)完 Django MTV 的開發(fā)者練手二次開發(fā)也適合小團(tuán)隊(duì)快速搭一個(gè)內(nèi)部采購(gòu)或樣品展示平臺(tái)——它不是玩具是能進(jìn)真實(shí)需求池的最小可用商城。2. 項(xiàng)目結(jié)構(gòu)與技術(shù)??辞骞羌懿拍芨牡梅€(wěn)這個(gè)手機(jī)商城不是“Django Bootstrap SQLite”三件套堆出來(lái)的玩具。它用分層清晰的目錄結(jié)構(gòu)支撐起真實(shí)業(yè)務(wù)邏輯用戶中心、商品管理、訂單流程、支付對(duì)接、后臺(tái)權(quán)限五塊骨頭全在。我拆包第一件事就是看manage.py同級(jí)的requirements.txt和settings/目錄——這才是判斷項(xiàng)目是否“能活”的關(guān)鍵。2.1 核心依賴與環(huán)境適配為什么 pip install 后還要手動(dòng)改兩處先看requirements.txt里的關(guān)鍵依賴已去重并標(biāo)注用途Django4.2.11 # 主框架LTS 版本兼容 Python 3.8 django-crispy-forms2.1 # 表單渲染神器讓 Bootstrap 表單不用寫一堆 class Pillow10.0.1 # 圖片處理商品圖上傳、縮略圖生成全靠它 django-redis5.2.0 # 緩存層首頁(yè)商品列表、熱門搜索詞走 Redis django-filter23.4 # 后臺(tái)商品篩選價(jià)格區(qū)間、品牌、分類多條件聯(lián)動(dòng)提示django-redis是可選依賴若你本地沒裝 Redis項(xiàng)目默認(rèn)回退到 Django 自帶的LocMemCache不影響功能運(yùn)行但緩存失效會(huì)變慢。這點(diǎn)在settings/base.py里有明確 fallback 邏輯后面會(huì)講。再看settings/目錄結(jié)構(gòu)settings/ ├── __init__.py ├── base.py # 公共配置INSTALLED_APPS、MIDDLEWARE、數(shù)據(jù)庫(kù)基礎(chǔ)設(shè)置 ├── local.py # 本地開發(fā)用DEBUGTrueSQLite 數(shù)據(jù)庫(kù)靜態(tài)文件自動(dòng)收集 ├── dev.py # 測(cè)試環(huán)境用DEBUGFalsePostgreSQL關(guān)閉模板調(diào)試 └── prod.py # 生產(chǎn)環(huán)境用強(qiáng)制 HTTPS、密鑰從環(huán)境變量讀、日志分級(jí)輸出這種拆法不是炫技。比如base.py里定義了AUTH_USER_MODEL users.CustomUser說(shuō)明用戶模型被重寫了——這直接決定你后續(xù)加手機(jī)號(hào)登錄、微信 UnionID 綁定等擴(kuò)展的起點(diǎn)在哪。而local.py里有一行EMAIL_BACKEND django.core.mail.backends.console.EmailBackend意味著注冊(cè)郵件不會(huì)真發(fā)出去而是打印在終端省得你配 SMTP 賬號(hào)翻車。2.2 目錄結(jié)構(gòu)解析每個(gè) app 都有明確邊界沒有“萬(wàn)能 utils”項(xiàng)目根目錄下apps/文件夾是核心業(yè)務(wù)區(qū)非 Django 默認(rèn)的平鋪結(jié)構(gòu)這是為后期微服務(wù)化預(yù)留的apps/ ├── users/ # 用戶模塊注冊(cè)/登錄/個(gè)人中心/地址管理 ├── products/ # 商品模塊分類、品牌、SPU/SKU、詳情頁(yè)、搜索 ├── orders/ # 訂單模塊購(gòu)物車、下單、支付狀態(tài)機(jī)、售后申請(qǐng) ├── payments/ # 支付模塊微信 JSAPI 支付封裝、回調(diào)驗(yàn)簽、退款 └── dashboard/ # 后臺(tái)模塊基于 django-admin 定制的商品/訂單/用戶管理頁(yè)注意沒有utils/或common/這種模糊命名的 app。所有工具函數(shù)按職責(zé)下沉——比如圖片壓縮邏輯在products.utils.image_resize()支付簽名計(jì)算在payments.utils.wechat_sign()。這種設(shè)計(jì)讓你改一個(gè)功能時(shí)90% 的代碼都在對(duì)應(yīng) app 下不用滿項(xiàng)目 grep。2.3 數(shù)據(jù)模型設(shè)計(jì)為什么商品用 SPUSKU 而不是單表products/models.py是整個(gè)商城的數(shù)據(jù)心臟。它沒用“一個(gè)商品一張表”的懶人設(shè)計(jì)而是嚴(yán)格區(qū)分ProductSPU代表一款手機(jī)如“iPhone 15 Pro”含名稱、描述、主圖、分類、品牌ProductVariantSKU代表具體規(guī)格如“iPhone 15 Pro 256GB 銀色”含價(jià)格、庫(kù)存、顏色、內(nèi)存、唯一 SKU 編碼。這樣設(shè)計(jì)的好處是同一款手機(jī)換顏色/內(nèi)存不用重復(fù)錄入商品信息促銷時(shí)可對(duì) SPU 批量調(diào)價(jià)也可對(duì)特定 SKU 單獨(dú)做限時(shí)折扣。關(guān)鍵字段如下# apps/products/models.py class Product(models.Model): name models.CharField(max_length100, verbose_name商品名稱) description models.TextField(verbose_name商品描述) category models.ForeignKey(Category, on_deletemodels.PROTECT) brand models.ForeignKey(Brand, on_deletemodels.PROTECT) main_image models.ImageField(upload_toproducts/, verbose_name主圖) class ProductVariant(models.Model): product models.ForeignKey(Product, on_deletemodels.CASCADE, related_namevariants) sku models.CharField(max_length50, uniqueTrue, verbose_nameSKU編碼) price models.DecimalField(max_digits10, decimal_places2, verbose_name售價(jià)) stock models.PositiveIntegerField(default0, verbose_name庫(kù)存) color models.CharField(max_length20, verbose_name顏色) memory models.CharField(max_length20, verbose_name內(nèi)存)注意on_deletemodels.PROTECT比CASCADE更安全——?jiǎng)h品牌前會(huì)報(bào)錯(cuò)逼你手動(dòng)處理關(guān)聯(lián)商品避免誤刪導(dǎo)致前臺(tái) 404。3. 快速啟動(dòng)從零到首頁(yè)可訪問的 5 步實(shí)操別急著改代碼。先讓項(xiàng)目在你本地跑起來(lái)這是所有二次開發(fā)的前提。以下步驟在 macOS / Linux / Windows WSL 下均驗(yàn)證通過Windows 原生 CMD 用戶請(qǐng)把source換成call。3.1 環(huán)境準(zhǔn)備Python 3.8 和虛擬環(huán)境是底線# 1. 確認(rèn) Python 版本必須 3.8 python --version # 2. 創(chuàng)建并激活虛擬環(huán)境推薦位置項(xiàng)目根目錄下 venv/ python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows CMD # 3. 升級(jí) pip避免舊版 pip 安裝依賴失敗 pip install --upgrade pip提示如果pip install -r requirements.txt報(bào)Pillow編譯錯(cuò)誤Mac 用戶執(zhí)行xcode-select --installUbuntu 用戶執(zhí)行sudo apt-get install libjpeg-dev libpng-dev libtiff-dev libfreetype6-dev再重試。3.2 安裝依賴與初始化數(shù)據(jù)庫(kù)# 4. 安裝所有依賴注意-r 后是相對(duì)路徑 pip install -r requirements.txt # 5. 遷移數(shù)據(jù)庫(kù)會(huì)自動(dòng)創(chuàng)建 SQLite 文件 db.sqlite3 python manage.py migrate # 6. 創(chuàng)建超級(jí)用戶后臺(tái)登錄賬號(hào) python manage.py createsuperuser # 按提示輸入用戶名、郵箱、密碼密碼不顯示輸完直接回車此時(shí)db.sqlite3已生成且包含全部表結(jié)構(gòu)。但注意此時(shí)商品、用戶、訂單數(shù)據(jù)都是空的。別慌項(xiàng)目提供了初始化腳本。3.3 加載測(cè)試數(shù)據(jù)3 條商品 2 個(gè)用戶 1 個(gè)訂單項(xiàng)目根目錄下有個(gè)fixtures/文件夾里面是 JSON 格式的測(cè)試數(shù)據(jù)fixtures/ ├── initial_categories.json # 分類手機(jī)、配件、服務(wù) ├── initial_brands.json # 品牌Apple、Samsung、Xiaomi ├── initial_products.json # 3 款手機(jī) SPU含主圖路徑 └── initial_variants.json # 9 個(gè) SKU不同顏色/內(nèi)存組合加載命令順序不能錯(cuò)外鍵依賴要滿足python manage.py loaddata fixtures/initial_categories.json python manage.py loaddata fixtures/initial_brands.json python manage.py loaddata fixtures/initial_products.json python manage.py loaddata fixtures/initial_variants.json注意initial_products.json里的圖片路徑是products/iphone15pro.jpg實(shí)際文件在media/目錄下。項(xiàng)目已預(yù)置這些圖片無(wú)需額外下載。3.4 啟動(dòng)服務(wù)并驗(yàn)證首頁(yè)# 7. 啟動(dòng)開發(fā)服務(wù)器默認(rèn)端口 8000 python manage.py runserver # 8. 瀏覽器打開 http://127.0.0.1:8000 # 應(yīng)看到頂部導(dǎo)航欄、輪播圖3 張、熱門商品列表3 款手機(jī)、底部版權(quán)信息此時(shí)你已擁有一個(gè)功能完整的首頁(yè)。點(diǎn)任意商品進(jìn)入詳情頁(yè)能看到規(guī)格選擇、加入購(gòu)物車按鈕點(diǎn)右上角“登錄”用剛才創(chuàng)建的 superuser 賬號(hào)登錄即可進(jìn)入個(gè)人中心和后臺(tái)管理。4. 核心模塊拆解購(gòu)物車與訂單狀態(tài)機(jī)的實(shí)現(xiàn)邏輯很多 Django 商城項(xiàng)目卡在“加購(gòu)物車就報(bào)錯(cuò)”本質(zhì)是沒理清“誰(shuí)持有購(gòu)物車數(shù)據(jù)”。這個(gè)項(xiàng)目用Session 數(shù)據(jù)庫(kù)雙寫方案兼顧性能與一致性。我們一層層剝開。4.1 購(gòu)物車Session 存臨時(shí)數(shù)據(jù)數(shù)據(jù)庫(kù)存持久記錄購(gòu)物車邏輯在apps/orders/cart.py核心是Cart類# apps/orders/cart.py class Cart: def __init__(self, request): self.session request.session cart self.session.get(cart) # 從 Session 讀 if not cart: cart self.session[cart] {} self.cart cart def add(self, variant, quantity1, update_quantityFalse): variant_id str(variant.id) if variant_id not in self.cart: self.cart[variant_id] {quantity: 0, price: str(variant.price)} if update_quantity: self.cart[variant_id][quantity] quantity else: self.cart[variant_id][quantity] quantity self.save() def save(self): self.session.modified True # 標(biāo)記 Session 已修改 # 關(guān)鍵同步到數(shù)據(jù)庫(kù)僅當(dāng)用戶已登錄 if self.session.get(_auth_user_id): self._sync_to_db() def _sync_to_db(self): # 獲取當(dāng)前用戶 user_id self.session.get(_auth_user_id) user get_user_model().objects.get(iduser_id) # 清空用戶舊購(gòu)物車 CartItem.objects.filter(useruser).delete() # 寫入新數(shù)據(jù) for variant_id, item in self.cart.items(): variant ProductVariant.objects.get(idvariant_id) CartItem.objects.create( useruser, variantvariant, quantityitem[quantity] )邏輯說(shuō)明未登錄用戶購(gòu)物車存在 Session 里關(guān)瀏覽器即消失登錄后每次add()或save()都會(huì)把 Session 數(shù)據(jù)同步到CartItem表。這樣既保證游客能加購(gòu)又確保登錄后購(gòu)物車不丟失。4.2 訂單創(chuàng)建狀態(tài)機(jī)驅(qū)動(dòng)拒絕“半成品訂單”訂單狀態(tài)流轉(zhuǎn)在apps/orders/models.py的Order模型中定義# apps/orders/models.py class Order(models.Model): STATUS_CHOICES [ (draft, 草稿), (pending_payment, 待支付), (paid, 已支付), (shipped, 已發(fā)貨), (delivered, 已簽收), (cancelled, 已取消), (refunded, 已退款), ] status models.CharField(max_length20, choicesSTATUS_CHOICES, defaultdraft) def mark_as_paid(self): 支付成功后調(diào)用觸發(fā)庫(kù)存扣減、通知等 if self.status ! pending_payment: raise ValueError(只能從待支付狀態(tài)轉(zhuǎn)為已支付) # 扣減庫(kù)存事務(wù)內(nèi) with transaction.atomic(): for item in self.items.all(): variant item.variant if variant.stock item.quantity: raise ValueError(f庫(kù)存不足{variant.product.name} {variant.color}) variant.stock - item.quantity variant.save() self.status paid self.save() # 發(fā)送支付成功通知此處簡(jiǎn)化為 print print(f訂單 {self.order_no} 支付成功已扣減庫(kù)存) def cancel(self): 用戶主動(dòng)取消訂單 if self.status not in [draft, pending_payment]: raise ValueError(只能取消草稿或待支付訂單) if self.status pending_payment: # 退款邏輯此處模擬 pass self.status cancelled self.save()參數(shù)說(shuō)明mark_as_paid()方法加了狀態(tài)校驗(yàn)防止外部直接order.status paid繞過庫(kù)存檢查。transaction.atomic()確?!翱蹘?kù)存改狀態(tài)”要么全成功要么全失敗。4.3 支付回調(diào)微信 JSAPI 支付的驗(yàn)簽與冪等處理apps/payments/views.py中的WeChatPayNotifyView處理微信異步通知# apps/payments/views.py class WeChatPayNotifyView(View): def post(self, request, *args, **kwargs): # 1. 解析 XML 請(qǐng)求體 xml_data request.body data parse_xml(xml_data) # 自定義解析函數(shù) # 2. 驗(yàn)簽關(guān)鍵 sign data.pop(sign, None) if not sign or not self._verify_sign(data, sign): return HttpResponse(fail, content_typetext/plain) # 3. 冪等處理檢查商戶訂單號(hào)是否已存在 out_trade_no data[out_trade_no] try: order Order.objects.get(order_noout_trade_no) except Order.DoesNotExist: return HttpResponse(fail, content_typetext/plain) # 4. 更新訂單狀態(tài)只處理未支付成功的訂單 if order.status pending_payment: order.mark_as_paid() # 復(fù)用前面的狀態(tài)機(jī)方法 return HttpResponse(success, content_typetext/plain) else: # 已處理過返回 success 避免微信重試 return HttpResponse(success, content_typetext/plain) def _verify_sign(self, data, sign): # 拼接待簽名字符串字典按鍵升序 items sorted(data.items()) string_a .join([f{k}{v} for k, v in items if k ! sign]) string_sign_temp f{string_a}key{settings.WECHAT_API_KEY} # MD5 簽名 return hashlib.md5(string_sign_temp.encode()).hexdigest().upper() sign邏輯說(shuō)明微信回調(diào)無(wú) Session所以必須用out_trade_no商戶訂單號(hào)定位訂單_verify_sign嚴(yán)格按微信文檔拼接字符串大小寫、空格、排序都不能錯(cuò)冪等處理是線上必選項(xiàng)否則網(wǎng)絡(luò)抖動(dòng)導(dǎo)致多次回調(diào)會(huì)重復(fù)扣庫(kù)存。5. 避坑指南那些讓我重啟三次服務(wù)器的血淚經(jīng)驗(yàn)這個(gè)項(xiàng)目雖小但涉及 Session、數(shù)據(jù)庫(kù)事務(wù)、第三方回調(diào)、靜態(tài)文件踩坑概率極高。以下是我在三臺(tái)不同機(jī)器上實(shí)測(cè)出的 4 個(gè)高頻問題按“現(xiàn)象 → 原因 → 解決”給出可抄作業(yè)的答案。5.1 現(xiàn)象首頁(yè)輪播圖不顯示控制臺(tái)報(bào) 404原因Django 開發(fā)模式下MEDIA_URL和MEDIA_ROOT配置不匹配或urls.py未啟用媒體文件路由。解決檢查settings/local.py是否有這兩行MEDIA_URL /media/ MEDIA_ROOT os.path.join(BASE_DIR, media)在項(xiàng)目根目錄urls.py的urlpatterns末尾添加from django.conf import settings from django.conf.urls.static import static if settings.DEBUG: urlpatterns static(settings.MEDIA_URL, document_rootsettings.MEDIA_ROOT)確認(rèn)media/目錄下有products/子目錄且圖片文件存在不是空文件夾。5.2 現(xiàn)象登錄后點(diǎn)擊“我的訂單”報(bào)RelatedObjectDoesNotExist: User has no order.原因User模型被重寫為CustomUser但Order模型的user外鍵仍指向auth.User導(dǎo)致關(guān)系斷裂。解決打開apps/orders/models.py找到Order類的user字段# 錯(cuò)誤寫法會(huì)報(bào)錯(cuò) user models.ForeignKey(auth.User, on_deletemodels.CASCADE) # 正確寫法必須匹配 settings.AUTH_USER_MODEL user models.ForeignKey(settings.AUTH_USER_MODEL, on_deletemodels.CASCADE)修改后執(zhí)行python manage.py makemigrations orders python manage.py migrate5.3 現(xiàn)象微信支付回調(diào)一直返回fail日志顯示sign error原因WECHAT_API_KEY配置錯(cuò)誤或parse_xml()函數(shù)未正確剔除xml根節(jié)點(diǎn)和 CDATA。解決檢查settings/local.py中WECHAT_API_KEY是否為微信商戶平臺(tái)后臺(tái)的API 密鑰32 位小寫字母數(shù)字不是 APPID 或 MCHID查看apps/payments/utils.py的parse_xml()函數(shù)確認(rèn)是否用xml.etree.ElementTree正確解析并將所有字段轉(zhuǎn)為字符串微信字段值可能是None需.text or 在WeChatPayNotifyView.post()開頭加日志logger.info(fWeChat notify data: {data}) # 看實(shí)際收到的字段5.4 現(xiàn)象后臺(tái)商品列表顯示“None”點(diǎn)編輯報(bào)FieldError: Unknown field specified in form原因dashboard/admin.py中ProductAdmin的list_display或fields引用了不存在的字段名或ProductVariantInline的fk_name寫錯(cuò)。解決打開apps/dashboard/admin.py檢查ProductAdmin.list_display# 錯(cuò)誤字段名拼錯(cuò)或不存在 list_display [name, category, brand, main_image_url] # main_image_url 未定義 # 正確用模型已有字段或自定義方法 list_display [name, category, brand, get_main_image_url] def get_main_image_url(self, obj): return obj.main_image.url if obj.main_image else - get_main_image_url.short_description 主圖檢查ProductVariantInline.fk_name是否為product必須與ProductVariant.product字段名一致。6. 二次開發(fā)實(shí)戰(zhàn)給商品詳情頁(yè)加“相似推薦”模塊現(xiàn)在你已跑通項(xiàng)目下一步往往是加功能。我以“在商品詳情頁(yè)下方加相似推薦”為例帶你走一遍從需求分析到上線的完整鏈路。這不是教你怎么寫代碼而是告訴你一個(gè)合格開發(fā)者會(huì)怎么思考、怎么驗(yàn)證、怎么避免返工。6.1 需求拆解什么是“相似”數(shù)據(jù)從哪來(lái)“相似推薦”不是玄學(xué)。在這個(gè)商城里合理定義是同一品牌 同一分類 價(jià)格區(qū)間在 ±20% 內(nèi)的其他 SPU。這樣既保證相關(guān)性又避免推薦太貴或太便宜的競(jìng)品。數(shù)據(jù)源就是Product模型本身無(wú)需額外爬蟲或 AI。6.2 后端邏輯在ProductDetailView中注入推薦數(shù)據(jù)apps/products/views.py的ProductDetailView是詳情頁(yè)視圖。我們不改原邏輯而是用get_context_data()注入# apps/products/views.py from django.db.models import Q from decimal import Decimal class ProductDetailView(DetailView): model Product template_name products/detail.html context_object_name product def get_context_data(self, **kwargs): context super().get_context_data(**kwargs) # 獲取當(dāng)前商品的品牌、分類、價(jià)格取第一個(gè) SKU 價(jià)格 current_product self.object if current_product.variants.exists(): base_price current_product.variants.first().price else: base_price Decimal(0.00) # 構(gòu)建相似查詢同品牌、同分類、價(jià)格在 ±20% min_price base_price * Decimal(0.8) max_price base_price * Decimal(1.2) similar_products Product.objects.filter( Q(brandcurrent_product.brand) Q(categorycurrent_product.category) Q(variants__price__gtemin_price) Q(variants__price__ltemax_price) ).distinct().exclude(idcurrent_product.id)[:4] context[similar_products] similar_products return context注意distinct()防止同一 SPU 因多個(gè) SKU 匹配而重復(fù)出現(xiàn)exclude(id...)排除自身[:4]限制數(shù)量避免模板渲染過慢。6.3 前端渲染復(fù)用現(xiàn)有組件不寫新 CSStemplates/products/detail.html里已有商品卡片組件product_card.html。我們直接復(fù)用!-- 在 detail.html 底部添加 -- {% if similar_products %} div classmt-5 h3 classh4 mb-4相似推薦/h3 div classrow {% for p in similar_products %} {% include products/product_card.html with productp show_priceTrue %} {% endfor %} /div /div {% endif %}關(guān)鍵點(diǎn)with productp show_priceTrue傳參確保product_card.html能正確渲染價(jià)格。檢查該模板是否支持show_price變量通常有{% if show_price %}...{% endif %}判斷。6.4 驗(yàn)證與壓測(cè)三步確認(rèn)改動(dòng)可靠改完代碼別急著提交按順序驗(yàn)證單點(diǎn)驗(yàn)證啟動(dòng)服務(wù)打開一個(gè)商品詳情頁(yè)如 iPhone 15 Pro確認(rèn)“相似推薦”區(qū)塊出現(xiàn)且顯示的是 Apple 品牌的其他手機(jī)如 iPhone 14、iPhone SE檢查瀏覽器 Network 面板確認(rèn)詳情頁(yè)請(qǐng)求耗時(shí)未明顯增加應(yīng) 200ms邊界驗(yàn)證找一個(gè)無(wú) SKU 的商品手動(dòng)刪掉其所有ProductVariant訪問其詳情頁(yè)確認(rèn)不報(bào)錯(cuò)similar_products為空列表找一個(gè)價(jià)格極低的商品如 99 元手機(jī)殼確認(rèn)推薦列表為空因無(wú)同品牌同分類的低價(jià)手機(jī)并發(fā)驗(yàn)證可選但強(qiáng)烈建議用ab命令壓測(cè)詳情頁(yè)ab -n 100 -c 10 http://127.0.0.1:8000/products/1/觀察manage.py runserver終端日志確認(rèn)無(wú)OperationalError: database is lockedSQLite 并發(fā)瓶頸若有說(shuō)明查詢太重需加數(shù)據(jù)庫(kù)索引python manage.py dbshell CREATE INDEX idx_product_brand_category ON products_product (brand_id, category_id);從那以后我每次加推薦邏輯都強(qiáng)制走一遍這三步驗(yàn)證——哪怕只是改一行模板。因?yàn)榫€上用戶不會(huì)給你“刷新重試”的機(jī)會(huì)他們只會(huì)默默關(guān)掉頁(yè)面然后去隔壁商城下單。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99热中国| 丁香激情六月天婷婷| 99热网址| www色五月天| 人人操人人干AV| 97人人干人人操| 婷婷丁香五月高清| 五月婷婷和六月| 嫩草视频观看| 色色色色色日韩午夜激情| 国产成人综合在线| 丁香五月天综合| 五月丁香六月激情综合网| 综合色图婷婷| 新激情五月天| 中文中文在线| 久热免费视频| 五月激情在线| 人妻中文在线| 丁香六月在线| 99热久| 丁香美女主播视频在线观看 | 色色五月天婷婷| 日韩少妇内射免费播放| 少妇AB又爽又紧无码网站| 婷婷五月丁香六月| 岛国av网站| 婷丁香五月天| 婷婷五月天性| 丁香五月六月欧美| 婷婷五月天高清无码| 这里只有精品热| AV在线大香蕉| 99无码视频| 91色干| 思思热99er| 色综合五月天| 国产精品99久久久久久久女警 | 成人精品在线观看| 五月天综合| 可以免费观看的av| 最新av在线观看| 五月丁香六月欧美综合网站| 狠狠色成人影片| 99.色| 婷婷久久婷婷色五月| 丁香五月激情棕合| 丁香六月激| 久久精品99久久久久久| AV在线观看网站| 亚州综合色| 葵花AV在线| 99A片| 日本三级第一页| 亚洲V国产V欧美V久久久久久| 亚洲欧洲99| 操逼三区| 蜜臀av无码久久久久久久久 | 狠狠999| site:wpjngj.com| 另类综合激情| 亚洲精品乱码久久久久久综合| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 久久久99精品免费观看| 综合久久五| 超碰国产在线播放| 人人操操| 成久综合视频| 深爱1激情网| 久久月天堂| 99视频综合| 丁香,开心成人,久久| 日本视频久久| 五月婷在线影院| 99riAv1国产在线观看| 五月天基地| 日日噜噜夜夜狠狠久久丁香六月| 婷婷五月天激情偷拍| 99极品视频| 五月丁香好婷婷A片网| 丁香五月aV| 久久aaaa片一区二区| 激情五月天免费视频| 五月婷婷免费看| 丁香五月婷婷AV在线| 91超级碰在线| 99视频在线观看视频| 天天色官网| 丁香色五月婷婷| 久久精品五月天| 亚洲va综合va国产va中文| 一区二区三区四日本| 六月婷婷最新网址| 爱的综合网| www.com任你艹| 99热日本| 天天爽天天摸天天爱| 国产亚洲精品久久一区二区三区| 在线观看免费视频| 天天爽天天操| 五月天婷综合| 久久机热这里只有精品| 五月丁香综合在线| 天天综合五月天| 7777激情基地| www.com五月天| 思思热在线播放| 玖玖99婷婷| 日韩久久色| www.日韩艹| 五月天色丁香| 51精品国内探花| 色婷婷WWW| 色色99| 超爽内射| 米奇影视资源777狠狠色婷婷五月天激情网| 天天夜夜爽| 五月婷婷综合激情网| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 亚洲综合在线丁香五月| 中字幕视频在线永久在线观看免费 | 色婷婷AV久久久久久久| 综合aV在线| 26uuu丁香婷婷五月| 五月色丁香婷婷中文字幕| www.夜夜操| 日韩无码专区| 婷婷激情鹿城五月天| 欧美激情综合色综合啪啪五月| 狠狠ri| 欧美激情丁香五月| 色综合久久44| 99r这里| 操操啪| 99久久久久久www| 免费99情趣网视频| www夜夜操| 99免费青青蜜臀| 热99视频精品| 丁香婷婷久久| 九九综合精品| 五月色丁香| 人妖色AV色综合| 激情五月婷婷啪啪| 天天干天天拍| 97资源碰碰| 日日爽日日操| 欧美精品999| 激情婷婷五月天丁香| 五月婷婷狠天天色综合| 丁香五月欧美| 99免费视频| 人人干人人操外国| 天天操综合网| 亚洲激情综合色站| 202丰满熟女妇大| 99综合色色色| 成人做爰A片免费看视频| 97丁香五月天| 色婷婷五月天视频在线| www.com在线操视频免费观看| 五月天婷婷丁香蜜桃91| 九九99九九精品免费| 丁香婷婷激情综合五月激情 | 欧洲亚洲免费视频9| 97ai婷婷| 激情亭亭五月| 91九色国产在线| 欧美影院| 激情九月婷婷| 99九九久久| 日本欧美在线| 九九成人| 这里只有精品视频看看| 九久久九精品视频| 丁香桃色网| 九九无毛| 先锋资源91| 九九综舍久久| 色优久久| 激情五月综合免费| 色吧99| 婷婷99狠狠躁| 秋霞日本免费毛片A片| 天天日夜夜曹| 婷久久| 久久婷婷五月天懂色| 91成人品| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 1024日韩| 丁香久久五月天视频在线观看| 男女啪啪做爰高潮无遮挡| 丁香五月天激情五月天激情五月天激情网 | 日韩黄黄| 五月婷婷综合色啪首页| 激情丁香六月| 玖玖资源部在线播放| 国产成人精品亚洲线观看| 精品一区二区三区四区五区六区介绍| 亚洲成人在线电影网站| 91人人网| 91大屁股| 自拍偷窥99热| 日本eVa一区=区视频| 亚洲成人va| 天啪色| 日本久热| AV79| 99综合视频一体| 色婷婷综合视频| 伊人狠狠狠综合| 丁香五月伊人| 亚洲高清在线| 天天舔天天摸视频| 五月丁香综合啪啪| 97超碰色| 欧美99| 五月丁香婷婷成人综合网| 天天综合色丁香| 五月婷婷在线视频| 婷婷亚洲欧美丁香五月| 中文精品久久久久人妻不| 国产亚洲成AV人片在线观黄桃| 五月婷婷啪啪啪啪| 在线五月婷婷小电影| 亚洲亚洲人成综合网络| 狠狠色婷婷7777久| 看久久性爱视频| 热五月婷婷| 激情开心五月天| 婷婷丁香色情五月天| 91玖玖| av网站不卡在线| 日本九九网| 涩综合在线 | 99国产这里只有精品| 99九九热在线观看| 国产jd1024基地手机看国产| 五月丁香六月色| 五月婷婷激情综合视频| 婷婷丁香六月五月天| 999热视频精品99免费在线| 91大神操美女| 精品久久久人妻| 婷婷五月色播网| 一本色道久久综合狠狠躁一二三| 99精彩视频| 综合在线色婷婷| 五月色丁香综合| 五月天婷婷亚洲| 五月婷婷五月天| 丁香五月开心亚洲| 五月丁香婷婷成人网| 综合久久婷婷五月丁香| 九九99九九99偷拍视频免费看| 丁香综合| 婷婷香草网| 国产成人网站在线观看| 中文在线成人| 亚洲成人婷婷| 五月网在线| 色六月天天激情综合网| av九九| 好色婷婷| 九热视频精品| 97超级免费无码| 嫩BBB搡BBBB榛BBBB| 婷婷五月大香蕉| 丁香六月婷婷姐网| 色操b| 天天日狠狠| WWW久久久| 97电影99热| 久久99jiu9| 色伦专区97中文字幕| 婷婷导航| 成人精品在线| 大香蕉520| 欧美日韩99| 日本九婷婷| 五月天婷婷丁香六月| 丁香五月大片| 天天透天天摸天天舔| 五月丁香激情片| 99人碰碰碰| 亚洲人人操| 久久182| 大香蕉网 久久| 亚洲av| 国产精产国品一二三在观看| 国产在线网| 亚洲精品久久久久AV无码| 丁香五月婷婷影院| 四色五月婷婷| 少妇人妻人伦A片| 婷婷色影院| 日韩aaaaa| 色99在线| 免费看欧美成人A片无码| 六月天婷婷| 人妻久久久久久| 五月开心网| 操骚货在线| 天天插天天爽| www.超碰97| 中文字幕中文有码在线| 久久婷婷六月综合综合| 国产老熟妇亲子乱对白| 婷婷爱在线观看| 五六月婷婷| 就爱啪啪婷婷| 激情网 五月天| 天天肏屄夜夜爽| 欧洲永久精品| 天天综合网亚洲综合网| 五月婷婷天| 五月天婷婷综合免费| 婷婷丁香小说| 九久9精品| 天天爽夜爽| 久久a热| 天天干电影| 色色色欧美| 欧美大片免费观看| 绿色小导航AV| 成人在线网址| 婷婷之六月丁香| 久久99成人性爱高清视频| 丁香五月在线看| 五月丁香中文字幕| 成人视频一区| 五月婷婷碰碰| 久久Xx| 97色在线| 丁香六月婷婷综合在线| 亚洲精品国产成人AV在线| 五月天综合在线| 美女网黄| 亚洲1区| 97超碰婷婷五月天| 中文字幕黄色电影网址| 日本妈妈乱| 亚洲性图一区二区三区| 91九色欧美| 天天射影| 噜噜噜噜在线| 色婷婷a v| 99综合| 99热伊人| 五月天激情网址| 天天草人人摸| 天天干狠狠| 色五月播五月| 91人人爽人人操| 婷婷五月综合在线| 婷婷五月六月激情| 六月久久婷婷| 草草色情综合网| 91精品久久久久久久久| 森林影视大全,最好看的2019年视频 | 97碰碰久久| 97久人人| 亚洲色色精品| 99热这里都是精品| 欧美色偷偷大香| 黄网在线播放| 五月人妻婷婷视频| 色色五月婷婷| 久久综合影院| 久久久久久丁香五月| 91丨九色丨高潮丰满日本| 欧亚成人A片一区二区| 玖玖99精品视频| 五月丁香色色综合| 99热最新精品| 99国产欧美视频| 色色激情网| 亚洲激情网站| 香蕉久久av一区二区三区| 99视频久久久| 五月激情婷婷开心| 成人.在线日韩| 久久在这里99| 欧洲色| 性生生活大片又黄又| 91操熟女| 五月 激情视频| 久久se 综合网| 九九热精品| 第四色五月天| 99在线看片| 五月天亚洲最大成人| 曰曰久久| 蜜桃人妻无码AV天堂三区| 97在线观视频免费观看| 丁香六月婷月91婷月| 米奇影视五月天| 开心激情站| 五月丁香婷婷综合视频| 人妻内射视频| 免费在线a| 丁香婷婷啪啪啪| 五月婷婷激情综合| 热99国产精品| 激情五月婷婷综合| 91狠狠综合久久久久久| 综合大香蕉| 色五月天丁香婷婷色| 婷婷六月激情丁香| 两性婷婷丁香五月| 天天久久综合| 我淫我色婷婷五月天激情四射| xxxx五月| 五月丁香亭亭电影久久| 五月婷婷婷婷婷婷艺术| 久久婷婷五月综合色欧美| 五月天婷基地| 国产乱人偷精品人妻A片| 丁香五月婷婷狠狠色| 91seav| 久久伦乱| 99热超碰在线| 五月丁香色婷婷婷基地| 亚洲精品无码一区二区| 丁香久色| 另类丁香五月天区图| 五月婷综合网| 婷婷狠狠爱| 天天爽免费视频| 综合狠久久| 丁香五月激情视频| 九九久久玖玖爱| 国产婷婷五月在线视频| 激情九色| 婷婷五月婷婷| 欧美五月丁香在线观看| 日碰日| 狠狠色综合五月| 韩国97天堂| 99热6精品| 成人短视频免费观看| 深爱激情婷| 五月天婷婷无码| 热久久婷婷| 开心激情网五月天| 久久婷婷91| 亚洲五月天婷婷| 五月色婷婷在线观看| 五月婷婷丁香六月| 九九亚洲视频| 久操热| 五月天激情小说| 丁香婷婷久久激情| 久久九九婷婷| 久热只有精品| 天天天摸夜夜夜玩| 天天插天天射天天干| 久久性爱视频| 色色网站免费观看| 玖玖五月| 99精品偷自拍| 99热都是精品| 色欲婷婷夜夜| 97干资源在线观看| 日本色色网| 狠狠88综合久久久久噜噜噜| www.无码com| 五月丁香婷婷色| 九九热再线九九视频免费在线观看| 艳妇野外情欲放荡HD| 五月六月伦理| 成人五月天综合网| jiuse91在线| 亚洲中文乱字字幕在线永久| WWW五月天| 影院久久久| 精品成人久久久久久久_一二三四视| 91婷婷色五月| www婷婷色| 色香久久| 天天夜天天色天天| 天天操天天日天天爱| 偷拍丁香九月激情| 天天干天天干天天干天天干天| 五月天婷婷激情小说| 免费观看日韩成人av| 九九热99视频| 97五月婷| 五月天婷婷激情小说电影| www.26uuu.com亚洲电影| 伊人婷婷五月天av| 4399无码视频二区| 天天操比比| 丁香婷婷色情社区成人小说| 性婷婷| 久草a片| 成人中文网| 中文字幕婷婷| 思思久久精品| 综合五月天天天天天五月| 天堂久久婷婷| 色色五月综合| 中文字幕婷婷9月天| 婷婷五月天久久| 都市激情小说婷婷| 色播五月丁香婷婷| 色色色激情| 丁香五月 无码| 五月天激情国产综合婷婷婷| 婷婷色五月激情| 玖玖资源站中文| 六月婷婷色五月| www.99免费视频| 爱操天堂| 国产视频色色色色色色色| 五月激情综合网| 久久丁香五月天| 色婷綜合网| 99热精品在线播放| 99婷婷国产最新视频| 久久久久视剧HD| 国产欧美日韩综合精品一区二区| 五月丁香在线观看| 97狠狠色| 人妻内射视频| 成人在线视频网| 五月丁香五月婷婷| 色狠狠色综合| www.亭亭五月天| 婷婷五月丁香基| 九九综合视频在线观看| 99精品久久久久久久婷婷| 五月天大香蕉AV| 91久久99久久91熟女精品| 色五月天电影| 亚洲色五月婷婷| 丁香涩涩爱| 色婷婷狠狠色| 色情久久久| 欧美婷婷五月激情| 九九草热在线观看| www.伊人天堂偷偷婷婷| 五月婷婷丁香大陆免费| 最近中文字幕大全免费版在线 | 丁香婷婷基地| 色情五月综合婷婷| 五月天婷婷综合| www.色婷婷.com| 欧美性爱五月天| 五月婷在线观看| a在线观看| 久久9精品| 久久99久久99精品免视看婷婷| 97操视频| 激情网五月天| 午夜69成人做爰视频| 大学生高潮无套内谢视频| 丁香六月天| 色播五月婷婷| 中字幕视频在线永久在线观看免费| 粉嫩AV久久一区二区三区| 99精品视频在线观看| 日本久久精品| 久草热8精品视频在线观看| 国产成人精品一区二三区熟女在线| 五月花婷婷| 色婷婷呢狠禁久禁| 91怕怕网| 精品久久9| 色人久夂| 视色网在线播放| 99re这里只有精品首页| 色五月激情五月天| 欧美五月婷婷| 97色婷| 九九一区| 五月丁香久久丝袜啪啪| 色五月婷婷色| 色婷婷在线视频久| 99热精品在线播放| 亚洲AV人人操| 精品无码久久久久久久久| 成人国产欧美大片一区| 91超级碰人人操| 99久精品| 色婷婷欧美在线| 丁香香五月激情免费视频| mmm1717.6dbm人人爱人人操| 色狠狠色噜噜AV天堂五区消防| 综合性爱网| 成人av免费观看| 色婷婷丁香五月天激情综合网| 色天天综合成人网| 亚洲另类电影| 久久婷婷五月丁香蜜桃网| 亚洲AVDVD| 好好干Av| 婷婷五月天伊人网| 网站免费一站二站| 久9热插入| 久久网婷婷| 激情五月天婷婷直播| 色婷五月| 色色色综合网| 99精品偷拍视频| 久久99婷婷| 激情婷婷丁香色五月综合| 丁香五月天资源网| 亚洲成人免费在线| 操b视频在线观看一区二区| 一级黄色影片| 亚洲热视频在线| 直接看的av| 天天揷综合网| 9久久精品| 97婷婷五月| 天天肏视频| 激情婷婷丁香色五月| 天天日天天做天天舔| 九一99| 激情又色又爽又黄的A片| 97操| 欧美激情 日韩无码 婷婷 五月天| 在线1青婷| 九九热九九| 海外网站专业操老外| www.精品99| 六月婷婷啪啪| 五月婷狠狠| www.五月天婷婷.com| 99久久精品国产色欲| 国产人妻777人伦精品HD| 久久精品五月天| 99热这里只有精品最新| 另类少妇人与禽zOZZ0性伦| 91凹凸在线| 涩涩涩.com| 开心五月婷婷| 99久久免费性爱视频`| 高清无码视频网址| 国产探花一片区| 久久久久综合激动五月天| 丁香六月婷婷色XXXXX| 国产高潮A片羞羞视频涩涩| 九热精品| 五月综合影院| 极品精品一区二区三区在线| 五月亚洲激情| 五月综合色| 91丨九色丨熟女|新版| 婷婷操逼网| 婷婷五月天在线观看| 午夜激情综合| 超碰人人干| 五月综合激情图片| 亚洲激情免费视频| 一本久久婷婷| 亚洲精品性色| 国产高清视频91九九九久久久| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 色婷婷狠狠久久综合五月| 久久激情视频| 丁香五月综合激情久久潮喷| 婷婷五月婷婷| 婷婷六月激情小说网| www.五月天| www.久9| 色狠狠色噜噜AV天堂五区消防| 婷婷丁香色女人| 色五月天视频| 5月丁香美女影院| 婷婷五月天第四色| 久久大国产香蕉| 精品成人无码A片观看香草视频| 色五月激情五月| 就爱啪啪婷婷| 丁香8月手机综合| 色婷婷激情视频| 91碰碰视频在线观看| 涩涩网五月天| 五月婷婷激情综合| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片| 亚洲精品又粗又大又爽A片 | 精品国产va久久久| 99热精品10| 91九色熟女| 丁香九月久久| 五月开心网| www.爱操com.| 一级内射毛片| 九九热婷婷| 日本啪啪网| 国产精品涩涩涩视频网站| 激情五月天无码| 影音先锋 萱萱| 久久五月丁香| 色九月| 国产毛片精品一区二区色欲黄A片| www.五月天。com| 国产性爱在线| 色婷婷五月综合| 91九色无码日韩| 色婷婷色99国产综合精品| 婷婷免费成人视频| 久久人操-久草婷婷-成人AV| 五月丁香香蕉| wwccc久久久| 99婷婷五月天激情| www.婷婷五月| 激情综合色婷婷啪啪六月天| 激情av在线| 99热精品在线在线| 亚洲婷婷激情五月天| 久久99大全| 天天干天天插| 色五月视频无码播放| 色婷六月| 少妇被躁爽到高潮无码文 | 色婷婷狠狠| 99热有精品在线观看| 99热这里有精品| 天天人人综合| 精品操逼一区二区| 五月天激情婷婷| site:feetmall.com| 丁香五月婷婷欧美性爱| www99精品| 久久五月婷婷开心网| 久久五月婷婷丁香| 日韩中文字幕| 99噜噜| www,av好吊操| 五月丁欧美| 日本97在线看片| 五月丁香六月激情在线| 九九99一区| 五月丁香综合啪啪啪啪啪| 97人人操人人插| 五月天综合在线| 欧美性爱5月天天天看| 99久在线视频| 日噜噜色| 国产69久久久欧美黑人A片| 第四色首页| 亚洲国产色婷婷| 99久久精品亚洲综合| 亚洲中文字幕在线观看| 91玖玖| 五月丁香六月婷婷开心网| 激情五月婷黄版| 婷婷五月天丁香成人社区| 婷婷综合视频| 婷婷五月天黄色小说| 99热免费网站| 亚洲Va成人| 亚洲99在线| 婷婷五月在线视频| 九九九九毛片| 狠狠色噜噜狠狠狠888| 久色姿源| 激情99| Av在线不卡一区| 中文字幕日本最新乱码视频| 天天操婷婷| 亚洲午夜电影| 天天狠狠夜夜狠狠2023| 五月丁香狠狠地噜噜噜噜| 六月五月丁香五月欧美| 久久久.COM| 日韩伊人大香蕉| 免费91久久精品| 欧美激情综合| 综合网激情| 99热免费| 极品人妻VideOssS人妻| 丁香五月天啪啪| 91九色精品| 色丁香五月婷婷综合久久| 欧美黄色一级录像| 国产欧美精品AAAAAA片| 婷婷五月av| 99热九九热| 五月激情综合网| 韩国天天婷婷| 亚洲女婷婷五月基地综合久久久| 另类图片激情五月天| 久热超碰| 综合亚洲色色| ww亚洲ww在线观看| 亭亭丁香久久五月| 久久婷婷六月| 丁香五月激情月| 色亭亭五月天网扯| 色播五月天天| 99色激| 那里有AV网址| 性爱AV天堂| 久久新| 色丁香婷婷| 色色色9 9 9| 99re青青草| 性做爰A片免费视频A片直播| 色婷婷丁香女女| 99爱在线视频| 欧美三级巜人妻互换| 天天操天天操天天操天天操天天操| 亚洲AV免费在线| 夜夜操天天干| 欧美色五月| 99精品网| 色婷婷色丁香色欲av| 久久六月综合| 39视频第二区| 国产肏屄大片| 亚洲综合婷婷五月| 五月丁香六月综合情在线观看| 亚洲综合网区| 激情丰满熟妇五月| 综合久久五月天| 丁XX 成人| 天天操综合网| www.zbzhongsen.com| 狠狠狠狠狠狠| 人与禽A片啪啪| www久久久久久久久久久| 久久加勤综合| 香蕉视频性爱BB做爱| 五月天伊人久久| 第五婷婷伊人丁香色| 久久97| site:hcxsz888.com| 六月伊人婷婷| 久久免费婷婷视频| 日日天天干| 曰韩少妇内射免费播放| g00d人体西西| 婷婷精品| 艾小青av| 99九九热在线观看| 久久人妻视频| 亚洲天堂制| 九九99九九99九九99视频网| 婷婷永久在线| 森林影视大全,最好看的2019年视频 | 玖玖视频福利| 先锋av性爱成人电影| 婷婷六月啪啪| 99热久| 人人操9| 激情色播| 天天干天天操| 婷婷五月六月丁香| 日本综合99| 婷婷情色五月天| 777丁香六月青青草婷婷综合久月| 综合激情站| 91久久久久久| 日韩国产AV播放| 蜜桃婷婷狠狠久久综合| 五月婷婷六月丁香综合视频在线| 丁香五月第四色88| 天天综合在线网| 思思精品视频| 国产精品电影| 日本三级毛片| 色七色九九| 99只有精品| 日产精品一线二线三线芒果 | 97在线干| 天天干夜夜b| 91色色色18| 中文不卡av| 淫视馆aV二区一区| 天天爽天天摸天天爱| 天天爽天天操| 熟妇内谢69XXXXXA片| 日韩黄色网络| AV国产有码| 欧美内射AA| 五月丁香亚州综合网| 这里都是精品99| 六月婷婷视频| 99久久超级| www.天天色综合| 五月天网站免费欧美| 亚洲国产精品SUV| 亚洲另类婷婷综合| 六月伊人婷婷| 99精品久久| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 五月婷婷之综合激情| 欧美成人精品A片免费一区99| 五月婷久久久| 欧美激情凹凸丁香网| 亚洲色婷婷五月天| 欧美日本不卡黄色片| 再綫Av免费視品| 97人人看| 97碰成超视频免费视频| 九九机热| 色青青电影色五月| 婷婷五月综合色中文字幕| Www,五月天| A片试看120分钟做受图片| 久操热| 4438激情网| 丁香婷婷五月人体| 欧美va欧美va差| 在线看的免费网站| 久久黄色免费视频| 色五月婷婷在线| 天天射影| www久久久| 人人操人人操919999| 天天色视频| 色婷婷AV久久| 99热的无码| 激情五月综合亚洲另类| 国产成人网址| 99热亚洲| 日韩成人中文字幕| 五月丁香六月情| 色综合99色| 97好吊操| 超碰成人影视| 啄木鸟丝袜美女福利视频| 九月婷婷在线视频| 综合六月激情婷婷| 青青草婷婷五月天| 日本性激情色播| 色情五月停停丁香| www.ppypp| 99这里有精品视频视频| 99色综合| 色性综合| 看逼中文字幕| 久久视频在线| 超级碰碰99| 天天舔天天摸| 99狠狠| 五月激情六月丁香| 99极品视频| 国产婷婷婷| 久久婷色| 激情网 久久| 久久99草五月婷婷| av免费在线观看0| 99re欧美精品| 五月丁香六月| 色原狠狠综合| 色婷婷啪啪啪啪啪啪| 青青草护士中出内射-欧美电影在线天堂新版 | 99网| 伦乱美欧| Aaa久久| 天天影院色| 99九九综合久久九九| 婷婷综合五月天| 激情人妻综合| 99成人| 久热只有这里有精品| 激情内射人妻1区2区3区| 开心激情站婷婷五月天| 久久久九九视频精品18| 五月天婷婷色色网| 九九色逼| 96自拍视频九色在线观看| 色色 9| 欧美久久网| 欧美婷婷综合| 五月综合激情视频| 激情宗合 激情宗合| 婷婷伊人网| 五月天婷婷色播综合在线| 99色在线观看视频者| 五月婷婷综合网| 丁香六月婷婷久久综合八月| 久久婷婷五月综合色丁香花| 精品色色| peg 2区三区四区的| 五月综合色| 夜丁香综合| 开心五月激情网| 亚洲在线免费成人| 99色性爰网络| 五月婷婷综合网| 色噜噜婷婷| 欧美va在线| 狠狠舔| 人人操91色| 国产在这里只有精品| 情婷婷五月天| www.91色| 国产精品成人网站| 五月天成人免费视频| 婷婷色正月| 超碰在线91| 久久亭亭电影| 99热国产免费| 婷婷香五月天| wWw色五月| 亚洲有码在线视频| 国产精自产拍久久久久久蜜 | 激情五月天丁香| 婷婷五月天狠狠| 99热都是精品| 五月九九综合| 狠狠干综合| 九九99久久| 丁香激情合作五月| 91一起艹| 免费99色| 亚洲电影在线观看| 六月婷婷av| 五月丁香龟婷婷| aaa丁香五月天| 久操香蕉| 日韩无码专区| 在线播放中文字幕| 26uuu精品国产| 婷婷五月综合在线视频| 亚洲AV网站| 色站9/| 超碰人人草| 天天爽夜夜操| 婷婷五月精品中文字幕| 俺来也综合网精品一区| 影音先锋 一区| 丁香五月之久操视频| 成人va在线播放| EEUSS鲁片一区二区三区| 色五月婷婷天天操夜夜操| 色色五月婷婷| 91网站黄| 五月天伊人久久久久| 成人永久免费视频在线观看| 天天日日爽| 激情五月综合色婷婷| 五月婷婷黄色| 久久婷婷网| 九九色天堂| 色五月天 丁香| 搡BBBB搡BBB搡五十| 六月色伊人婷婷| 天天爱天天做天天日| 91人操| 五月天天堂久久| 五月丁香婷婷激情四射迷人| www天堂99| 99燥99日| AA片在线观看视频在线播放| 99久久99九九99九九九| 婷婷激情六月| 人妻操逼视频| 日日噜噜夜夜狠狠久久丁香六月| 美女五月狠狠| 天天搞天天色综合| 久久婷婷五月综合97色一本| 99色区| 超级碰碰碰碰视频| 亭亭丁香97| 二区成人视频| 日本色超碰| 狠狠狠狠青草| 色色色com| 中文字幕日本最新乱码视频| 国外亚洲成AV人片在线观看| 色五月综合| 亚洲人妻av| 少妇水多A片太爽了| www.狠狠操| AA片在线观看视频在线播放| 涩涩五月天| 中文字幕网伦射乱中文| 天天综合网站| 丁香六月婷婷久久综合| 色色婷婷丁香| 五月天伊人| 99久在线视频| 亚洲人妻av| 天天影院色| av网址在线| 91碰碰碰| 成人做爰A片免费看网站找不到了 国产露脸150部国语对白 | 91小黄书网址在线观看| 可以免费看AV网站| 国产午夜精品久久久观看| 色无码| 99热免费看| 丁香五月Av| 91色在线/日韩| 综合色播| 欧美成人猛片AAAAAAA| 五月天婷婷偷拍| 九一九九黄色| 婷婷五月色色| 超碰精品在线| 五月丁香婷婷AV天堂| 五月天四色房丁香| www.伊人天堂偷偷婷婷| 婷婷九月色| 亚洲欧美婷婷五月色综合| 丁香五月激情天AV无码| 五月天婷婷色播| 人人做人人看人人摸| 欧洲综合色| 五月天激情婷婷五月天久久| 婷婷色激情五月天| 91操熟女| 国产精品久久久久久久久久免费 | 久久六月婷婷| 色五月大| 任你艹| 操逼在线视频| 婷婷五月激情六月| 99在线观看| 国产又爽又猛又粗的视频A片| 欧美性生交XXXXX无码小说| 亚洲激情| 五月天激情综合网俺也去| 天天干,噜噜色,狠狠色| 婷婷五月天播播| 色狠狠综合网| 亚洲成av人影院| 亚洲国产网站| 九九色逼| 99在线观看这里都是精品| 五月丁香六月婷婷操操操| 成人精品在线| 91碰免费视频| 色综合久| 色婷婷丁香香香蕉视频| 夜夜撸天天操| 国产 码在线成人网站| 东北熟女视频99| AV成人在线播放| 天天草婷婷五月| 无套内射极品大美女| 激情综合五月| 综合久久六月| 开心久久xxx色| 五月天激情丁香| 欧洲色区| 色色五月天婷婷丁香| 五月天性色| 五月婷婷啪啪啪| 少妇高潮呻吟A片免费看软件 | 五月丁香啪啪伦理电影| 成功精品影院| 一级无码作爱片| 五月丁香六月婷婷色| 久久这里有精品视频| 五月婷婷性爱| 色婷婷最新域名| 日本97在线视频| 涩涩五| 99日韩| 色99www.| 国产噜一噜天天噜| 久青操| 国产特黄色精品一区二区三区精品无广告| 日本久久99| 激情综合一| 综合久久狠狠| 996er在线观看| 久久人人九九| 九一九九黄色| 激情婷婷人妻| 日韩另类| 色噜久| 乱轮A片| 99国产精品久久久久久久久久久| 九热视频在线精品15| 亚洲第一精品网站| 无码人妻精品一区二区蜜桃色欲| 超碰激情网| 亚洲激情在线| 高清免费在线视频| 噜噜综合网| 超碰在线免费9| 五月色情婷婷| 九九热这里只有精品12| 久久人妻精品| 婷婷射图五月天| 色综合综合色| 91丁香综合| 狠狠干狠狠干狠狠干狠狠干| www夜夜操| 91精品久久久久久77777| 99热99精品| 五月婷婷97| 狠狠做婷婷| 九色亚洲| 丁香五月狠狠在线观看| 综合色五月| www,色婷婷| 综合啪啪| 狠狠色大香蕉| 婷婷五月色激情欧美激情| 日韩黄色中文字幕| 综合xx网| 欧洲色| 91无码高清| 激情五月综合| 久久青草国| 婷婷五月激情天| 丁香五月玖玖| 丁香六月婷婷综合| 国产在线黄色| 色域五月婷婷丁香| 狼人婷婷久久| 色噜噜狠狠色综合成人99| 婷婷丁香五月在线播放| 久久综合最新网址| 综合激情五月天六月婷免费视频| 97超级啪啪在线观看| 思思热久热| 影音先锋 一区| 婷婷色无码| 欧美日本免费一道免费视频 | 五月婷六月婷婷| 九九中文字幕九| 丁香狠狠色婷婷久久无码视频| 亚洲第二AV| 色婷婷9| 九九精品99久久久| 五月天精品| 99超级碰碰| 欧美婷婷精品激情| 五月丁香偷拍| 丁香五月综合在线播放| 丁香五月天激情| 蜜乳.comcom| 激情婷婷激情在线不卡| 亚洲第一精品网站| 天堂在线婷婷| 婷婷五月AV| 五月丁欧美| 26uuu精品国产| 丁香五月婷婷少妇| 欧美成人一区二区三区在线视频| 六月丁香激情网| 97干在线免费| 久久草中文日韩欧美| www.av视频xx999.com| 99精彩视频| 日逼免费视频| 九九久久免费视频44| 婷婷五月成人| 亚洲偷| 亚洲色网络| 99精品97| 五月亭亭开心网| 激情五月丁香在线观看直播| 婷婷成人在线| 五月丁香六月激情综合| 欧亚色色| 一本大道熟女人妻中文字幕在线| 久久婷婷六月综合资源| 国产精品A成V人在线播放| sewuyue第四色| 五月天婷婷狂暴白浆| 激情影院丁香五月| 国产日批视频免费播放| 色综色网| 99精品一二三四视频|