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

ARTICLE DETAIL

資訊詳情

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

Python+Django城市PM2.5空氣質(zhì)量數(shù)據(jù)可視化分析實戰(zhàn)指南

Python+Django城市PM2.5空氣質(zhì)量數(shù)據(jù)可視化分析實戰(zhàn)指南 簡介一份基于Django框架的城市PM2.5空氣質(zhì)量數(shù)據(jù)可視化分析源碼面向Python學習者和高校課程設(shè)計場景完整涵蓋數(shù)據(jù)采集、存儲、后端處理與前端展示流程。壓縮包共64個文件主要包含17個Python代碼文件、24個CSV數(shù)據(jù)文件、HTML頁面模板及SQL數(shù)據(jù)庫腳本等整體大小12.38MB目錄結(jié)構(gòu)清晰易于直接運行和二次開發(fā)。目前已有328人學習下載。項目以上海、北京、廣州、成都、沈陽五城市六年P(guān)M2.5匯總數(shù)據(jù)為基礎(chǔ)實現(xiàn)時間序列逐年趨勢、不同季度/月/時段變化以及與溫度、露點、相對濕度、風向、大氣壓等要素的關(guān)系可視化同時附帶Django項目配置、登錄注冊模板和MySQL數(shù)據(jù)庫文件可幫助初學者理解數(shù)據(jù)分析與可視化項目的完整搭建方式。該源碼系個人高分大作業(yè)作品代碼完整可直接部署適合用于期末設(shè)計、課程報告或?qū)崙?zhàn)練手。1. 城市PM2.5空氣質(zhì)量數(shù)據(jù)可視化分析這個課程設(shè)計方案為什么值得自己重寫一遍把「Python基于Django城市PM2.5空氣質(zhì)量數(shù)據(jù)可視化分析」和「95分以上」放在一起基本就是高校課程設(shè)計或畢業(yè)設(shè)計里最常見的一類選題后端用Django把數(shù)據(jù)管起來前端用圖表把數(shù)據(jù)亮出來再配上一點“分析”的味道。這套系統(tǒng)真正解決的訴求很簡單——讓一份零散的PM2.5數(shù)據(jù)集變成能答辯、能演示、能講清楚技術(shù)鏈路的完整項目。它適合正在做Django項目實戰(zhàn)的新手也適合想快速搭一個數(shù)據(jù)可視化Demo、又不想被前端框架拖住的人。我見過不少學生拿到這類源碼包后改不動、答不上來問題往往不在代碼本身而在沒搞懂數(shù)據(jù)是怎么從CSV一路流到圖表的。這篇文章就把這條鏈路完整拆開照著做你也能交出一份能站在講臺上講明白的方案。2. PythonDjango的MVT骨架為什么課程設(shè)計首選Django而不是Flask2.1 Django自帶的那套東西恰好覆蓋了課程設(shè)計的全部得分點城市PM2.5空氣質(zhì)量數(shù)據(jù)可視化分析這類項目評審老師真正會看的就三件事數(shù)據(jù)能不能存進去、頁面能不能跑起來、圖表能不能跟著數(shù)據(jù)走。Django的MVT架構(gòu)Model-View-Template幾乎是沖著這三點設(shè)計的Model層用ORM管數(shù)據(jù)庫View層寫業(yè)務邏輯Template層渲染頁面。你不需要像Flask那樣自己拼ORM、自己接模板引擎、自己做后臺管理Django默認全部配好。這里有一個很實際的選型理由Django的Admin后臺是白送的。數(shù)據(jù)導進去之后Admin里能直接看到每一行記錄、能按城市篩、能按日期排序這等于讓你在答辯前多了一個“數(shù)據(jù)管理”的展示頁而且一行代碼不用寫。Flask做不到這一點你要么裝Flask-Admin要么自己寫一個管理頁面工作量直接翻倍。對一門課程設(shè)計來說時間成本是很真實的成本。版本選擇上課程設(shè)計我一般建議用Django 3.2 LTS而不是最新的4.x或5.x。原因很簡單3.2是長期支持版網(wǎng)上的教程、博客、還有你同學已經(jīng)踩過的坑絕大多數(shù)都集中在這個版本。4.x以后刪掉了一些舊寫法比如url()函數(shù)、django.conf.urls里的include用法新手照著老教程抄很容易當場翻車。如果老師沒硬性要求新版就選3.2穩(wěn)。當然如果你已經(jīng)裝了新版也沒關(guān)系第5章會講版本差異導致的典型報錯怎么處理。2.2 圖表選型為什么我不用pyecharts而是直接寫ECharts數(shù)據(jù)可視化是這類項目的門面選錯圖表庫是最致命的。市面上常見的方案有四類我用一個對比表說清楚方案適合場景動態(tài)交互新手友好度答辯風險ECharts原生JavaScriptWeb頁面圖表強setOption增量更新中需要寫一點JS低數(shù)據(jù)傳遞邏輯自己可控pyechartsPython生成圖表頁面弱改配置要重新生成HTML高全程Python中老師追問“數(shù)據(jù)怎么到前端”容易卡殼Matplotlib本地靜態(tài)圖無高高本科階段少見用它做Web項目Highcharts商業(yè)項目強中低但商用有授權(quán)問題網(wǎng)上大量教程推薦pyecharts因為它“全程寫Python不用碰前端”。但我自己做這類項目時不會選它——pyecharts本質(zhì)是把ECharts的配置封裝成Python對象再渲染成一段HTML字符串。問題是一旦答辯現(xiàn)場老師讓你“把折線圖換成柱狀圖”或者“點擊城市后圖表聯(lián)動”pyecharts要走“改Python代碼→重新生成頁面→刷新瀏覽器”這條路調(diào)試效率極低而且pyecharts 1.x和2.x的API差異很大很多老代碼在新版本里直接跑不起來。原生ECharts看著要多寫一點JavaScript但恰恰是這一點“多一點”讓你能講清楚整個數(shù)據(jù)鏈路視圖函數(shù)把數(shù)據(jù)轉(zhuǎn)成JSON→塞進模板→前端拿到JSON→chart.setOption()畫圖。每一步都在你手里答辯時老師問什么你都能接住。城市PM2.5空氣質(zhì)量數(shù)據(jù)可視化分析的核心是“分析”不是“背一個封裝好的調(diào)用”所以我會把寶押在ECharts上。2.3 一個Django可視化項目的最小目錄結(jié)構(gòu)不管外面那層zip殼叫什么名字解壓之后能跑起來的Django項目骨架一定是下面這個樣子。我建議你親手敲一遍而不是直接抄別人的項目結(jié)構(gòu)air_quality/ ├── manage.py ├── config/ │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── core/ │ ├── __init__.py │ ├── models.py │ ├── views.py │ ├── urls.py │ ├── admin.py │ └── migrations/ ├── templates/ │ └── dashboard.html └── data/ └── pm25.csvconfig是項目配置目錄core是業(yè)務應用目錄templates放頁面模板data放原始數(shù)據(jù)集。拆分邏輯是配置和業(yè)務分開代碼和數(shù)據(jù)分開。很多新手喜歡把一切塞進core里短期沒問題但數(shù)據(jù)導入腳本、臨時CSV文件、頁面模板混在一起后期改起來很痛苦。這個結(jié)構(gòu)不是我發(fā)明的是Django項目的常規(guī)布局你在任何一本Django實戰(zhàn)入門教程里都能看到類似影子。先把骨架搭對后面每一步都順。3. 把PM2.5數(shù)據(jù)裝進Django數(shù)據(jù)表設(shè)計、CSV導入腳本與三條驗證命令3.1 PM2.5數(shù)據(jù)集的常規(guī)字段以及為什么AQI和等級也要入庫要做城市PM2.5空氣質(zhì)量數(shù)據(jù)可視化分析第一步是搞清楚數(shù)據(jù)長什么樣。一份能支撐可視化頁面的城市空氣質(zhì)量數(shù)據(jù)集最少要有這幾個字段城市名稱、監(jiān)測日期、PM2.5濃度值、AQI指數(shù)、空氣質(zhì)量等級。城市和日期是維度PM2.5是核心指標AQI和等級用來做輔助分析比如“近30天優(yōu)的天數(shù)”“污染日集中在哪幾個城市”。我見過有人只存PM2.5數(shù)值其他全丟。短期看頁面也能畫圖但答辯時老師問“AQI怎么算的”“優(yōu)、良、輕度污染怎么劃分”你答不上來因為數(shù)據(jù)里根本沒有這些信息。寧可多存幾個字段也不用后面補數(shù)據(jù)這是做數(shù)據(jù)類項目的一條鐵律。數(shù)據(jù)來源方面常見做法是找公開的城市歷史空氣質(zhì)量數(shù)據(jù)集CSV格式或者自己寫爬蟲抓公開頁面課程設(shè)計階段我建議用公開數(shù)據(jù)集先跑通全鏈路爬蟲有時間再補別一上來就卡在采集上。3.2 建虛擬環(huán)境、裝依賴、創(chuàng)建項目和App動手之前先把環(huán)境隔離好。很多PythonDjango項目跑不起來不是代碼的問題是全局環(huán)境里Django版本和依賴互相打架。以下命令在項目根目錄執(zhí)行python -m venv venv source venv/bin/activate pip install django pandas django-admin startproject config . python manage.py startapp core第一行創(chuàng)建虛擬環(huán)境第二行激活它Windows下是venv\Scripts\activate。pip install django pandas里pandas是為了后面寫CSV導入腳本用的Django本身不需要它。django-admin startproject config .末尾這個點很關(guān)鍵表示在當前目錄生成config配置目錄而不是再套一層文件夾這樣manage.py就待在項目根目錄。最后一行startapp core創(chuàng)建業(yè)務應用所有模型、視圖都寫在這個app里。如果這里報django-admin: command not found大概率是虛擬環(huán)境沒激活或者pip安裝路徑不在PATH里。檢查辦法是pip show django看裝沒裝上裝上了就用python -m django代替django-admin效果一樣。跑完這幾條命令你已經(jīng)有一個最小可運行的Django項目了python manage.py runserver啟動后瀏覽器打開127.0.0.1:8000能看到默認火箭頁。3.3 模型字段這樣設(shè)計導入和查詢都省心打開core/models.py定義一張城市空氣質(zhì)量數(shù)據(jù)表。課程設(shè)計的數(shù)據(jù)量一般就是幾萬條到幾十萬條SQLite完全扛得住不需要上MySQL。模型我通常寫成這樣from django.db import models class CityAirQuality(models.Model): city models.CharField(max_length64, db_indexTrue, verbose_name城市) monitor_date models.DateField(db_indexTrue, verbose_name監(jiān)測日期) pm25 models.FloatField(verbose_namePM2.5濃度) aqi models.IntegerField(verbose_nameAQI指數(shù)) quality models.CharField(max_length16, blankTrue, default, verbose_name空氣質(zhì)量等級) class Meta: ordering [monitor_date] unique_together (city, monitor_date) verbose_name 城市空氣質(zhì)量數(shù)據(jù) def __str__(self): return f{self.city}-{self.monitor_date}這里有幾個參數(shù)值得注意。db_indexTrue給城市和日期加了數(shù)據(jù)庫索引按城市篩選、按時間范圍排序會明顯變快課程設(shè)計數(shù)據(jù)量雖然小但養(yǎng)成建索引的習慣沒有壞處。unique_together (city, monitor_date)是去重約束保證同一個城市同一天的記錄只有一條這比在導入腳本里手動if判斷可靠得多。ordering [monitor_date]讓所有查詢默認按日期升序后面寫視圖時不用每次都想起來加order_by。FloatField用來存PM2.5濃度因為監(jiān)測值經(jīng)常出現(xiàn)78.5這樣的帶小數(shù)數(shù)據(jù)AQI是整數(shù)用IntegerField。quality字段設(shè)置blankTrue, default是因為有些數(shù)據(jù)源可能沒給等級硬性nullFalse會導致導入失敗。模型定義完執(zhí)行遷移python manage.py makemigrations core python manage.py migratemakemigrations生成遷移文件migrate把表結(jié)構(gòu)真正建到數(shù)據(jù)庫里。執(zhí)行完這兩條命令后Django會自動生成SQLite數(shù)據(jù)庫文件db.sqlite3不需要你手動建庫。3.4 CSV導入腳本用pandas批量寫入而不是逐條insert數(shù)據(jù)文件格式各家不一樣但城市空氣質(zhì)量CSV通常長這樣第一行是列名后面每行一條記錄列包括城市、日期、PM2.5、AQI、等級。導入腳本我一般放在項目根目錄下import_data.py和Django項目同層腳本內(nèi)容如下import os import django import pandas as pd os.environ.setdefault(DJANGO_SETTINGS_MODULE, config.settings) django.setup() from core.models import CityAirQuality df pd.read_csv(data/pm25.csv, encodingutf-8-sig) df.columns [c.strip().lower() for c in df.columns] objs [] batch_size 1000 for idx, row in df.iterrows(): objs.append(CityAirQuality( citystr(row[city]).strip(), monitor_datepd.to_datetime(row[date]).date(), pm25float(row[pm25]), aqiint(row[aqi]), qualitystr(row[quality]).strip(), )) if len(objs) batch_size: CityAirQuality.objects.bulk_create(objs, ignore_conflictsTrue) objs.clear() if objs: CityAirQuality.objects.bulk_create(objs, ignore_conflictsTrue) print(f導入完成共 {CityAirQuality.objects.count()} 條記錄)腳本前三行是Django獨立運行腳本的標準寫法設(shè)置環(huán)境變量、調(diào)用django.setup()否則模型無法訪問數(shù)據(jù)庫。encodingutf-8-sig是專門針對Windows下編輯的CSV文件帶BOM頭用utf-8直接讀會把\ufeff混進第一列列名。pd.to_datetime()統(tǒng)一日期格式float()和int()做類型轉(zhuǎn)換避免字符串入庫。這段代碼的核心是bulk_create批量寫入一次性提交1000條比在循環(huán)里逐條save()快一個數(shù)量級。ignore_conflictsTrue配合模型里的unique_together約束重復導入時不會報錯重復記錄會被自動跳過。最后一行打印總記錄數(shù)這就是第一條驗證命令——看到它說明數(shù)據(jù)真正落庫了。3.5 三條驗證命令確認數(shù)據(jù)真的導對了數(shù)據(jù)導入完別急著寫頁面先用三條命令確認數(shù)據(jù)質(zhì)量。打開Django shellpython manage.py shellfrom core.models import CityAirQuality CityAirQuality.objects.count() CityAirQuality.objects.filter(city北京).count() CityAirQuality.objects.values(quality).annotate(cntmodels.Count(id))第一條命令看總記錄數(shù)第二條看指定城市有沒有數(shù)據(jù)第三條按空氣質(zhì)量等級分組統(tǒng)計數(shù)量。如果第三條跑出來有None空值說明CSV里有些行沒給等級回到導入腳本把空值處理掉。這三條命令能在30秒內(nèi)告訴你數(shù)據(jù)鏈路通不通比直接寫到頁面里再排錯快得多。我每次做完導入都會跑一遍這三條確認無誤才往下走省下的排錯時間遠多于敲這幾行命令的時間。4. 從QuerySet到ECharts圖表視圖函數(shù)、JSON結(jié)構(gòu)與交互式折線圖的完整鏈路4.1 先定數(shù)據(jù)接口的JSON結(jié)構(gòu)再寫頁面新手寫可視化頁面最容易犯的錯是把數(shù)據(jù)加工邏輯全塞在模板里前端想要什么就臨時湊什么。正確的做法是先定接口后端返回什么結(jié)構(gòu)的JSON前端就按這個結(jié)構(gòu)消費。城市PM2.5空氣質(zhì)量數(shù)據(jù)可視化分析的主頁面需要兩塊數(shù)據(jù)一是圖表數(shù)據(jù)二是城市下拉列表。我一般把圖表數(shù)據(jù)定義成三個平行數(shù)組日期列表、PM2.5濃度列表、AQI列表。ECharts的折線圖x軸要的就是一個數(shù)組series也對應一個數(shù)組三數(shù)組結(jié)構(gòu)天然契合前端拿到后不需要二次加工。from django.http import JsonResponse from django.shortcuts import render import json from core.models import CityAirQuality def dashboard(request): city request.GET.get(city, 北京) rows CityAirQuality.objects.filter(citycity).order_by(monitor_date)[-30:] data { dates: [r.monitor_date.strftime(%Y-%m-%d) for r in rows], pm25: [r.pm25 for r in rows], aqi: [r.aqi for r in rows], } cities CityAirQuality.objects.values_list(city, flatTrue).distinct() return render(request, dashboard.html, { chart_data: json.dumps(data, ensure_asciiFalse), current_city: city, cities: cities, }) def api_pm25(request): city request.GET.get(city, ) if not city: return JsonResponse({error: 缺少city參數(shù)}, status400) rows CityAirQuality.objects.filter(citycity).order_by(monitor_date)[-30:] data { dates: [r.monitor_date.strftime(%Y-%m-%d) for r in rows], pm25: [r.pm25 for r in rows], aqi: [r.aqi for r in rows], } return JsonResponse(data, json_dumps_params{ensure_ascii: False})這段代碼里values_list(city, flatTrue).distinct()取出去重后的城市列表給下拉框用。[-30:]這種切片寫在order_by()之后取的是按日期排序后的最近30條記錄如果order_by寫反了取的就不是最近30天而是最早30天。strftime(%Y-%m-%d)把日期對象格式化成字符串因為datetime.date類型不能被json.dumps直接序列化。第二段api_pm25是為第6章的局部刷新準備的接口這里提前定義好。注意JsonResponse(data, json_dumps_params{ensure_ascii: False})不加這個參數(shù)中文城市名會變成\u5317\u4eac這種轉(zhuǎn)義序列前端拿到后顯示成亂碼。4.2 URL路由path()函數(shù)寫法和include的用法視圖函數(shù)寫好后把URL映射配好。項目根URL文件config/urls.py負責掛載app路由app內(nèi)core/urls.py負責具體路徑# config/urls.py from django.contrib import admin from django.urls import path, include urlpatterns [ path(admin/, admin.site.urls), path(, include(core.urls)), ]# core/urls.py from django.urls import path from core import views urlpatterns [ path(, views.dashboard, namedashboard), path(api/pm25/, views.api_pm25, nameapi_pm25), ]path()函數(shù)里空字符串表示站點根路徑api/pm25/是JSON接口路徑。這里不推薦url()正則寫法這是Django 4.x刪掉的老語法課程設(shè)計階段全部用path()就夠了。include(core.urls)把帶core/前綴的請求轉(zhuǎn)發(fā)給app內(nèi)路由表這樣即使以后加更多業(yè)務模塊根URL文件也不會膨脹。4.3 模板頁面ECharts折線圖從0到1的完整代碼模板文件templates/dashboard.html是整套系統(tǒng)最終呈現(xiàn)的地方。引入ECharts、定義容器、初始化圖表、塞數(shù)據(jù)四步缺一不可!DOCTYPE html html langzh-CN head meta charsetUTF-8 title{{ current_city }} PM2.5 近30天趨勢/title script srchttps://cdn.jsdelivr.net/npm/echarts5/dist/echarts.min.js/script style #pm25Chart { width: 100%; height: 400px; } /style /head body select idcitySelect {% for city in cities %} option value{{ city }} {% if city current_city %}selected{% endif %}{{ city }}/option {% endfor %} /select div idpm25Chart/div script const chart echarts.init(document.getElementById(pm25Chart)); const raw {{ chart_data|safe }}; chart.setOption({ tooltip: { trigger: axis }, title: { text: {{ current_city }} PM2.5 濃度趨勢 }, xAxis: { type: category, data: raw.dates }, yAxis: { type: value, name: PM2.5 (μg/m3) }, series: [{ name: PM2.5, type: line, data: raw.pm25, smooth: true, areaStyle: { opacity: 0.2 } }] }); /script /body /html這里最容易被忽略的是容器高度。ECharts的容器div如果沒設(shè)置高度默認高度為0圖表畫出來就是一片空白。所以模板里#pm25Chart必須顯式寫height: 400px。{{ chart_data|safe }}中的safe過濾器告訴Django這段JSON不要轉(zhuǎn)義否則引號會被變成quot;JavaScript直接語法報錯。這個用法有個前提chart_data是視圖里自己json.dumps出來的受控數(shù)據(jù)不是用戶輸入所以安全可控。echarts.init(document.getElementById(pm25Chart))一行完成圖表實例化。tooltip配trigger: axis后鼠標懸停能看到每一天的具體數(shù)值這是答辯演示時的核心交互點。smooth: true讓折線更圓滑areaStyle加了一層半透明填充視覺上比裸折線更有“數(shù)據(jù)可視化”的感覺——這兩個參數(shù)是觀感上的加分項成本幾乎為零。4.4 把統(tǒng)計結(jié)論寫進頁面數(shù)據(jù)可視化不等于數(shù)據(jù)分析這一章最后做一件很多課程設(shè)計都漏掉的事在圖表旁邊加一段統(tǒng)計描述。老師看到折線圖的直觀反應是“好看”但真正讓他點頭的是你能說出來“為什么好看”。# 在dashboard視圖函數(shù)中補充統(tǒng)計邏輯 vals [r.pm25 for r in rows] peak_val max(vals) if vals else 0 peak_date rows[vals.index(peak_val)].monitor_date.strftime(%Y-%m-%d) if vals else 無數(shù)據(jù)把peak_val和peak_date一起傳給模板頁面底部顯示“近30天PM2.5峰值出現(xiàn)在{peak_date}濃度為{peak_val}μg/m3”。這句話就是“分析”的最小單元數(shù)據(jù)可視化是手段結(jié)論才是目的。沒有這句你的頁面是“圖表展示”有了這句它才是“可視化分析”。整篇文章的標題里“分析”兩個字靠的就是這一小段代碼坐實。5. Django可視化項目避坑手冊中文亂碼、空白圖、新版Django報錯的排查路徑5.1 ECharts畫出來是空白先查容器高度不要懷疑代碼現(xiàn)象頁面能打開圖表區(qū)域一片空白控制臺沒有報錯chart.setOption也執(zhí)行了。原因ECharts容器div沒有顯式高度或者高度是0。ECharts初始化時讀取容器寬高高度為0時圖表畫不出來但不會拋異常因為初始化本身是成功的。解決給容器加CSS高度如#pm25Chart { height: 400px; }。如果容器是響應式布局用height: 60vh也可以。這是一個非常像“玄學”的問題因為頁面看起來一切正常實際上卡在最基礎(chǔ)的地方。我做過一個項目三個頁面用了同一個模板只有第三個頁面白屏排查了半天發(fā)現(xiàn)是那個頁面的CSS里把容器寫成了height: auto。5.2 CSV中文城市名變成亂碼encoding參數(shù)要選對現(xiàn)象導入完成后頁面上城市名顯示為“鍖椾含”或者導入時直接報UnicodeDecodeError。原因Windows下用Excel編輯的CSV默認是GBK編碼而Windows下Excel保存CSV時會帶上BOM頭utf-8編碼讀取GBK字節(jié)流必然解碼失敗即使讀進來了字節(jié)流被錯誤解碼后就是亂碼。解決讀取CSV時用encodingutf-8-sig這個編碼會自動吃掉BOM頭同時正常解析UTF-8內(nèi)容。如果數(shù)據(jù)源確實是GBK就改用encodinggbk。更穩(wěn)妥的做法是一開始就把CSV統(tǒng)一轉(zhuǎn)成UTF-8用VS Code打開后右下角編碼選擇“通過編碼保存”選UTF-8保存一次之后所有腳本都用utf-8-sig讀。數(shù)據(jù)文件編碼問題在數(shù)據(jù)可視化項目里排在前三名處理不好會直接污染數(shù)據(jù)庫。5.3 Django新版刪了url()函數(shù)老教程一抄就報錯現(xiàn)象按網(wǎng)上老教程寫url(r^index/$, views.index)啟動服務或訪問頁面時拋TypeError: url() got an unexpected keyword argument regex或者直接提示模塊沒有url屬性。原因Django 2.0起推薦path()4.0以后徹底移除了url()函數(shù)。網(wǎng)上大量教程和博客還是多年前的寫法抄下來必然報錯。解決全部改用path()路由。path(index/, views.index)就能實現(xiàn)同樣的效果。如果你確實需要正則匹配用re_path()代替它是url()的正則版后繼者。另外要留意版本相關(guān)的settings.py配置Django 3.2的DEFAULT_AUTO_FIELD需要設(shè)置很多老教程沒寫這個遷移時會收到一條警告不影響運行但有提示。這類問題不是你的代碼錯了是教程版本和運行環(huán)境不匹配裝上Django 3.2 LTS后大部分老教程都能直接用。5.4 json.dumps中文變成\uXXXX頁面顯示一串反斜杠現(xiàn)象頁面上折線圖的橫軸日期顯示正常但下拉框里或者圖例中的城市名顯示成\u5317\u4eac甚至直接把整個setOption參數(shù)變成了無效的JavaScript。原因json.dumps默認把非ASCII字符轉(zhuǎn)成\uXXXX轉(zhuǎn)義序列模板變量通過safe輸出后JavaScript拿到的是字面量反斜杠而不是漢字。如果轉(zhuǎn)義序列被插進帶引號的字符串里就會破壞JS語法。解決json.dumps(data, ensure_asciiFalse)。在API接口里如果用JsonResponse則傳參json_dumps_params{ensure_ascii: False}。兩個地方一個都不能漏模板渲染用的chart_data走的是json.dumpsAJAX接口走的是JsonResponse。這條排查路線的現(xiàn)象特別容易和編碼問題混淆實際是序列化參數(shù)的問題。5.5 導入數(shù)據(jù)重復翻倍unique_together是后悔藥現(xiàn)象導入腳本跑了兩遍數(shù)據(jù)庫里城市和日期的組合出現(xiàn)了兩行相同記錄圖表里某一天有兩個數(shù)值點折線圖看上去像“重影”。這會讓平均值計算和峰值統(tǒng)計全部失真。原因?qū)肽_本沒有去重邏輯第二次執(zhí)行時又批量插入了全部數(shù)據(jù)。課程設(shè)計階段重復導入很常見尤其是調(diào)試導入腳本時反復執(zhí)行。解決模型上建unique_together (city, monitor_date)導入時用bulk_create(objs, ignore_conflictsTrue)。unique_together在數(shù)據(jù)庫層面建了聯(lián)合唯一索引重復數(shù)據(jù)插入時數(shù)據(jù)庫會拒絕ignore_conflictsTrue告訴Django“沖突就跳過不報錯”。這樣導入腳本跑一百遍都不會污染數(shù)據(jù)。如果已經(jīng)翻倍了先清空表再重新導入Django shell里執(zhí)行CityAirQuality.objects.all().delete()即可。6. 進階技巧用AJAX把城市切換做成局部刷新答辯時多一個亮點基礎(chǔ)版本里切換城市要刷新整個頁面用戶體驗一般答辯演示時還會讓老師覺得“這跟Excel畫圖區(qū)別不大”。進階做法是通過fetch()請求JSON接口拿回數(shù)據(jù)后調(diào)用ECharts的setOption()更新圖表這就是局部刷新。核心代碼在4.1的api_pm25接口基礎(chǔ)上往模板里加一段監(jiān)聽const citySelect document.getElementById(citySelect); citySelect.addEventListener(change, function () { const city this.value; fetch(/api/pm25/?city encodeURIComponent(city)) .then(res res.json()) .then(data { chart.setOption({ title: { text: city PM2.5 濃度趨勢 }, xAxis: { data: data.dates }, series: [{ data: data.pm25 }] }); }); });這里兩個關(guān)鍵設(shè)計encodeURIComponent(city)把中文城市名轉(zhuǎn)成URL安全編碼否則fetch請求里的中文可能變成非法字符chart.setOption是增量更新只需要傳入要變的部分ECharts會自動合并新舊配置不需要重新init創(chuàng)建新圖表。如果調(diào)用chart.clear()再重新setOption頁面會閃一下答辯時觀感不好——增量更新是官方推薦做法也是和“刷頁面”思路最不一樣的地方。最后補一個小技巧在setOption之后加一行chart.resize()解決容器尺寸變化時圖表不跟隨的問題。有些答辯現(xiàn)場把瀏覽器窗口從筆記本投到投影儀分辨率一變圖表要么溢出要么縮成一團resize()就是為這個場景準備的“后悔藥”。做這類課程設(shè)計項目我最后悔的永遠是貪多嚼不爛又是地圖又是瀑布圖最后哪個都沒講清楚。這次這個方案只用了折線圖加局部刷新數(shù)據(jù)鏈路短、邏輯能自洽、答辯時每一行代碼都講得出來龍去脈反而拿到了不錯的評價。城市PM2.5空氣質(zhì)量數(shù)據(jù)可視化分析做到這個程度已經(jīng)遠超“交作業(yè)”的下限。如果你時間更充??梢栽傺a一個按周聚合的柱狀圖或者用Django的annotate()算一個城市年均值對比表——方向?qū)α思庸δ苤皇菚r間問題。希望這些排過坑的思路能幫你少走幾段彎路祝答辯順利。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
综合欧美五月婷婷| 色综合色色| 五月婷视频在线观看| 日本激情五月天‘| 踪合专区啪啪| 99热啪啪| 婷婷六月啪啪| 大香蕉av在线| 日韩AV免费看| 激情五月天色播| 91久久综合| 色婷婷97| 国产高清RV综合aVa| 国产操B| 亚洲99热| 婷婷色在线| www九九热| 美女婷婷六月色| 日韩AV免费看| 激情六月婷婷| 激情综合丁| Caoub青青超碰| 99爱视频| 思思热精品免费视频| 丁香九色不卡aaa| 五月婷婷六月情| 99热这里都是精品| 色五月噜噜| 九九热精品99| 日韩AV色色色| www色色色com| 爱狠射| 日韩成人精品中文字幕| 九九热视频免费| 国产无人区大片| 色色色99| 天天插天天插| 丁香五月激情视频在线| 婷婷91| 内射人妻视频国内| 最新色色五月天| 丁香五月婷婷少妇| 4399在线观看免费高清黄色视频| 99ER热精品视频| 天天做天天爱天天高潮| 色婷婷丁香五月天激情综合网| 色99免费视频中文| 图片区 小说区 区 亚洲五月| 色色哒五月婷婷六月丁香| 婷婷精品在线| 99热这里只有精品50| 丁香涩涩爱| 婷婷永久在线| 这里只有精品,日韩视频| 精品乱码视频| 婷婷五月天天aV| 激情综合丁| 丁香五月成人在线| 亚洲精品婷婷| 色色色999| 丁香五月婷婷免费视频| 国产在线黄色| 天天日天天摸| www.26uuu.com亚洲电影| 激情综合五月丁香| 激情视频91| 日本少妇裸体做爰高潮片| 精品爆操| 色五月婷婷小说亚洲中文字幕组| www激情网| 久久婷色| 五月婷婷在线视频| www.精品99| 五月天婷婷成人资源站| 丁香伊人激情| 激情五月深爱五月| 7777激情基地| 大香蕉网站,大香蕉综合| 亚洲成人影视在线| 国产午夜成人AV在线播放| 五月丁香激情综合啪啪| 99这里只有| 免费日韩99| 五月停亭六月,六月停亭的英语| 九九99视频精品| 五月丁香综合网| 91avse| 婷婷色5月激情网| 99国产小视频2013| wwwss在线观看| 伊人网啪啪| 久久久潮喷-久久久九九-成人AV| 激情五月天婷婷播播久久综合91| 亚洲A片成人无码久久精品青桔| 另类在线| 淫视馆aV二区一区| 色玖玖| 日韩成人电影在线播放| www.久久久久久久| 99人人干| 五月丁香综合| 日本色五月| 国产免费一区二区三区三州老师F1F1.CC | 丁香婷五月天开心六月| 99热97| 五月天社区狠狠| 六月丁香综合网| 就是色婷婷五月亚洲色| WWW.夜夜操.com| 婷婷五月天影院| 成人在线网站| 婷婷欧美激情综合| 色播五月婷婷| 五月婷婷六月丁香激情深爱| 少妇日麻屄| 九九热色视频| 五月激激网w'w'w| 国庆精品久久| 五月婷色丁香| 国产精品香蕉| 99亚洲精品| 五月丁香六月婷婷姐| 丁香五月六月婷婷怡红院| 这里只有免费的精品| 丁香五月婷婷六月婷| 噜综合| 狠狠色丁香久久久婷| 大香蕉手机视频| 九月婷婷久久| 禁欲电影完整版在线播放| 久热九九| 夜夜嗨一区二区三区直播内容| 人妻体体内射精一区二区| 色99色| AV中文在线| 亚洲免费看片| 人五月天婷婷喷水| 久久99综合网| 九九视频精品这里只有| 色婷婷六月天在线| 久久99久久99精品免观看粉嫩| www.97碰碰com| 淫视馆AV在线| 天天做天天爱天天爽| 97精品人人A片免费看| 99re6在线视频精品免费| 99精品视频在线观看| 狠狠色色色| 97成人丁香| 久久久九九九 99| 婷婷色色欧美| 久久亚洲A| 九九九午夜影院成人| 五月婷婷伊人久久| 99久超碰| 午夜天堂一区人妻| 亚洲午夜Av| 中文字幕av在线| 精品国产人人爱人人| 激情综合网激情五月网| 丁香六月婷| 久久综合爱| 超碰AV在线| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 五月丁香婷婷网在线在线| 五月天婷婷丁香导航| 亚洲欧洲国产精品| 亚洲乱码日产精品BD| 国产亚洲99久久精品熟| 九九碰九九爱97超| 五月天婷综合| 最新丁香六月婷婷| 超碰在线中文字幕| 99久久激情视频| 丁香五月在线观看完整版| 五月丁香六月婷婷在线播放| 亚洲天堂爱爱| 久操欧美在线观看97| 欧美偷偷操| 97久久超碰| 手机AVAV天堂看网| 人妻九九九九| 日韩三十六页| 亚洲丁香婷婷五月天综合色| 五月丁香六月色| 99热色精品| 丁香五月色情av| 超碰免费99| 五月婷婷五月天天| 人妻综合网| 日本无码专区| 亚洲综合字幕色色| 大香蕉久久婷婷精品综合| 五月婷色| www.91.com黄| 99爱视频在线| 亚洲网站观看视频| xxxx五月激情| 婷婷久月| 97在线/日本| 逼特逼在线免费播放| 丁香五月婷婷99| wuyuedingxiang99| 超碰人人艹| 五月丁久久| 日韩无码专区| 日本久久精品18| 影音先锋91网站在线观看| 五月丁香啪啪综合| 久久久久人妻网址| 欧美三级视频| 丁香六月婷婷综合网| www.9797国产| yazhochengrenavwang| 亚洲综合色网站| 日韩啪| 好大好粗嗯啊-一级黄色大片免费观看-成人AV| 情五月亚洲婷婷| 日本一级特黄大片AAAAA级| 色色三级视频| 五月色导航| 67194成I人在线观看线路1| av操B网站| 色五月xxx| EEUSS鲁片一区二区三区| 99ree6| 色综合夜夜| 久久久久久久人妻| 欧美三级视频下载| 丁香色婷婷五月天| 天色色综合网| 99热中文字幕久久| 丁香五月色情av| 1024欧美看片| 亚洲人妻一区二区| 三级黄色大片视频| 呦呦AV| 超碰碰碰碰| www.97干视频| 可以免费观看的AV| 色婷久| 久 久9 9 热 视 频| 成人精品视频99在线观看免费| 日韩色色色色色| 99热日韩| 五月天婷婷色色| 天天操B| 综合激情专区| 狠狠狠狠狠狠色| 婷婷久久婷婷| 天天插天天射| 另类精品视频在线观看| 色婷婷狠狠爱| 一区二区成人电影| 99热这里只有精品青草| 99re这里只有精品99| 99精品一二三四视频| 色五月大香蕉婷婷| 中文资源在线a| 中文字幕成人影视| 五月色婷| 欧美成人无码一区二区三区| 日本人妻伦在线中文字幕| 玖月婷婷爱丁香| 人人摸人人摸| 六月激情婷婷综合| 色色色色av色色色色| 91无码色色| 国产精品蜜臀99| se色婷婷视频| 亚洲最大激情无码| 我爱大香蕉| 激情小说视频图片| 丁香六月婷婷高清| 久久婷婷五月天丁香| 射久久丁香五月| 丁香五月天日韩无码| 成人精品99| 97婷婷五月激情六月丁香伊人| 欧美色性色好| www.超碰| 色综合激情图区| 色婷婷狠狠干芒果TV| 欧美偷偷操| 99在线观看精品视频| xx久久| 五月丁香六月情| 99久热这里有精品| 久久99网| 亚洲永久免费| 手机激情网| 婷婷五月欧美AA片免费| 婷婷色色网| 99热6这里只有精品6| 色欧美色色色| www.婷婷.com| 一根材五月婷成人| 大香蕉啪啪啪啪啪啪| 91综合色| 国产精品24r| 天天透天天爱| 狠狠艹狠狠艹| 五月婷丁香久久综合| 玖玖婷婷色五月| 久/久精品99看9| 国产精品久久久久久久久久久久| 99色网站| 九九家庭影院| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 99ri在线观看视频| 丁香久久在线| 91色在线/日韩| 五月激情五月丁香| 成年视频免费观看| 欧美交换配乱吟粗大25P| 色99热| 久久婷婷成人| 亚洲免费综合一区| 综合大香蕉| 欧美五月丁香在线观看| 4438激情网| 免费观看全黄做爰的视频| 亚洲激情综合| 五月丁香六月婷婷不卡免费无码| 激情婷婷久久| 91碰碰视频在线观看| 91九色国产| 99er在线观看| 伊人干综合| 亚洲黄网AV| 欧美婷婷六月丁香综合色| 国产日韩精品SUV| 另类激情中文| 西瓜美女a片| 91婷婷丁香五月| 欧美大片免费观看| 激情婷婷| 综合网啪| 天天日夜夜帕| 五月丁香六月婷婷中合网| 99丁香五月婷婷在线| 色情综合网| 色五月丁香婷婷久草| 国内裸舞二区| 激情综合九月| 激情五月婷婷色色| 黄桃AV无码免费一区二区三区 | 在线观看的av| 色播五月丁香综合| 爱操天堂| 人妻熟女一区二区AV| 免费国产视频| 婷婷午夜天| 这里只有精品99www| 五月天久久综合| 亚洲AV日韩在线观看| 五月婷婷久久综合| 色色色色色色色色综合网| 婷婷丁香五月在线播放| 人妻肉射免费观看| 亚洲第一色色色色| 丁香五月天在线观看视频| 碰人人操| 丁香五月婷婷激情完整版| 人妻熟人中文字幕一区二区| 亚洲操逼网| 激情综合网址| 久久99大全| 人妻无码精品一区| 激情性五月天免费小说视频| 翔田千里无码| 婷婷激情区| 五月婷婷激情四季| 深爱五月激情综合| 欧日美女Va| 97在线综合| 国产综合81p| 色婷婷91激情小说| 色在线免费观看| 精品一二三区久久AAA片| 色色色色综合网| 婷婷五月天综合网| 九色啦蜜臀| 九九这里都是精品| 热99这就是精品视频| 天天草天天日| 这里只有精品在线免费视频| 丁香激情婷婷网| 色天天综合色| 五月久久亚洲| 影音先锋人妻出差| 五月婷婷激情综合视频| 五月婷婷丁香综合| 婷婷日日夜夜| 色婷婷五月天视频网站| 五月婷婷综合丁香视频| 中文AV在线观看| 99在线免费观看| 日婷婷久久开心| 日本色视| 成人视频在线免费播放| 久久久久久激情| 五月丁香网站| 97人人操在线| 九九精品丁香花| 日本99在线视频| 美女亚洲五月丁香| www.无码com| 婷婷五月天基地| 六月五月婷婷| a色色片| 天堂呦 呦百度搜索-百度搜索| 99综合视频| 99re99热| 久艹大香蕉| 丰满老熟妇BBBBB搡BBB| 91丨九色丨白浆秘| www.夜夜.com| 丁香亭亭久久| 97五月久久丁香婷婷| 国产精品99久久久久久久女警| 79色色| 丁香婷婷人妻| 情色婷婷五月天| 影音先锋日本三级资源| 丁香六月情| ss视频xx91| 99久久99视频只有精品| 日韩av在线免费观看| 亚洲九N| 99热1| 。久久久久久久久久久久久久人妻| 久久新地址| 国产精品黑丝| 国产精品久久久爽爽爽麻豆色哟哟| 96丁香六月婷婷蜜桃综合久久| 色国产五月| 91综合国免费久入| www.久久久久久| 碰超亚洲| 欧美成人猛片AAAAAAA| 久久久18| 婷婷五月激情欧美| 丁香五月婷婷大香蕉| 第一区久久网站| 中文字幕丰满乱孑伦无码专区| 九九热精品99| 亚洲另类毛片| 激情五月婷婷色色| 99热在线播放精品| 丁香五月激情综合久久| 东北熟女高潮99综合99| 婷婷五月另类网站| 狠狠狠狠狠狠草| 琪琪色五月婷婷老师| 可以看的av| 五月香婷婷| 在线天堂9| 操逼巨乳91| 五月丁香激情综合网| 色婷婷九月| 婷婷五月天成人影片| 成人色情五月天婷婷丁香| 亚洲婷婷五月天在线激情综合网| 婷婷五月色| 久久综合中文| www.主妇. com| 亚洲激情在线| 开心亚洲久久开心| 久久机只有这里精品| 26UUU亚洲欧美| 婷婷五月综合欧美在线播放| 美女要搞搞天天搞搞搞网站| 色丁香久综合在线久综合在线观看| 欧美激情Va| 色五月丁香总合网| 五月天激情久色| 天天操夜夜爱| 婷婷五月天成人| 五月天伊人综合| 无码人妻激情| 五月色综合| 中文字幕日产A片在线看| 欧美S码亚洲码精品M码| 99视频啪啪| 亚洲AVDVD| 色久影院| 国产五月天激情小说| 五月婷婷伊人久久| 五月天激情小说网| 婷婷久热| 中文字幕成人版| 久久五月情| 久久婷婷综合基地| 天天做天天干天天综合网| 深爱激情网噜噜色| 综合一区二区三区| 亚洲精品又粗又大又爽A片| 东京热五月婷婷| 9久热在线精品| 久久九九国产| 极品人妻videosss人妻| 激情 婷婷| 久热只有精品| 97人人操人人操人人操人人| 日日爱678| 亚洲 五月 婷婷 成人| 无码区婷婷五月花开| 99热偷拍| 免费在线观看av网站| 五月天婷婷操逼视频| 亚洲综合视频天天精品| 丁香六月无码播放| 五月天婷婷无码| 欧美色片中文字幕久久久久| 91丁香五月| 色五月激情五月丁香五月婷婷啪啪综合| 婷婷十月丁香| 丁香五月偷拍| 色婷婷五月天成人网| 凹凸探花电影| 久久六月天| 国产无遮挡又黄又爽免费网站| 午夜激情久久| 婷婷五月丁香在线观看| 色5月婷婷色| 射婷婷中文字幕| 91色婷婷综合久久中文字幕二区| 永久地址 色| 日韩视频99| 色玖玖网| 99在线视频在线观看| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 天天操,夜夜骑| 天天插综合| 久久久人人操A V| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 日本熟妇乱妇熟色A片蜜桃| www.五月激情红色| 伊人婷婷大香蕉| 久久在线大香蕉| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 在线成人av播放| WWW丁香五月| 日本九九九九| 五月丁香六月婷婷成人| 久久中文网| 人人97碰| 丁香五月激情网| H亚洲| 五月色亭丁香| 色婷婷亚洲婷婷| 久久九九玖玖| 色天堂在线| 超碰激情五月| 日夜夜久久| 亚洲V国产V欧美V久久久久久| 久久久97| 狠狠色丁香| 97极品在线| 人人干人人看| 69综合在线| 99在线精品在线视频| AAA级久久久精品| www..com色爱| 四川BBB搡BBB搡多人乱亂| 婷婷激情伍月网| 九热视频| 婷婷五月综合婷婷| 九九色精品| 99热色无码| 婷婷五月综合激情| 亚洲欧洲另类| 深爱五月天婷综合| 色婷婷香蕉在线| 丁香五月激情性色郤| 这里只有精品96| 精品成人无码A片观看香草视频| 色婷婷电影| 日日噜噜久久婷婷五月天 | 三级av在线| 六月丁香婷婷尤物| 91免费啪视频| 久热这里只有| 亚洲成人网在线观看| 色色色色五月| 婷婷五月天少妇| 97精品人人A片免费看| 婷婷丁香五月天小说| 婷五月天影院| 国产精品色色| 五月婷婷在线视频免费观看| 无码少妇高潮喷水A片免费| 九月婷婷丁香| 超碰高清在线| 五月亭亭开心网| 五月丁香六月婷婷综合免| 国产免费性爱| 五月综合色| 激情综合网激情五月天| 日日噜人人人做人| 91九色PORNY大屁股| 色久天| 99re在线这里只有精品视频首页| 成人视频在线免费播放| 2025神马午夜福利| 欧美日韩123| 思思热久久阴99| 六月婷婷色色网| 亚洲丁香婷婷丁香五月天激情| 婷色五月天| 嫩BBB搡BBBB榛BBBB| 另类综合婷婷五月天欧美视频| 日熟女| 婷婷99狠狠躁天天躁| 开心五月色婷婷综合开心网| 精品在线网站| 91人妻人人操| 色欲一区二区三区精品A片| 丁香五月天五码婷婷| 丁香密臀AV激情网| 日本视频不卡123区| 婷婷 伊人 久久| 性小说五月天| 96精品久久久久久久久| 综合久久狠狠| 色五月播五月| 天天骑天天操| 九九久久99| 日韩 中文 欧美| 超PEN精品在线| 婷婷99狠狠躁天天| 久久亚洲激情五码| 婷婷色5月天在线。| 亚卅毛片| 99热在线播放精品| 极品少妇XXXX精品少妇偷拍| 色婷婷88| 中文AV网站| 日日干日日s| 97久久草草超级碰碰碰| 亚洲精品444久久久久久| www.超碰在线| 大香蕉婷婷丁香天堂AV| 五月婷婷开心五月| 丁香婷婷色五月天| AV五月丁香| 激情五月天婷婷| 久七香蕉| 丁香六月欧美| 色欲色欲久久宗合网| 99热一区| 91狠狠综合久久久久久| 99在线视频资源| 婷婷播5月| 思思re视频在线| 99爱在线| 色五月涩涩婷婷蜜桃| 日本久热| 国产免费一区二区三区三州老师F1F1.CC | 久久只有18视频| 丁香五月六月婷婷综合| 九九久久网| 伊人深爱综合| 激情小说 五月天| 精品无码人妻一区| 婷婷六月丁香激情综合| 五月天婷婷自拍图片在线观看| 91久久久久久久久18| www.91婷婷| www.99精品视频| 美国不卡视频| 久久婷婷亚洲无码一起| 丁香 亚洲 久久| 成人网页在线观看| 99视频在线观看网址| 五月色婷丁香| 丁香天堂夜| 亚洲无码你懂的| 停停综合色色| 91九色在线视频| 人人操人人操919999| 大香蕉中文| 中文字幕人妻在线| 五月六月播婷婷| 只有精品在线观看| 桃色激情婷婷伊人网| 五月综合激情图片| 五月婷婷啪啪网| 精品久久66| 久久人人妻| 啪啪婷婷五月天激情| √天堂资源在线人妻熟女| 丁香五月日韩| 性色欲情 网站| 成人深爱丁香五月| 激情色情五月天| 激情六月综合| 人妻视频在线| 超碰狠狠操| 新激情五月天| 激情婷婷九月| 丁香五月天激情网址| 亚洲开心激情网| 丁香五月欧美激情| 99re视频在线播放| 婷婷爱五月| 亚洲成人日韩无码精品| www.91在线观看| 激情综合4月| 亚洲、热| 97在线刺激| 六月丁香五月婷婷| 久久女人九九| 亚洲综人色综网| 天天爱天天做天天爽| 色色日本| 婷婷五月激情综合| www99精品亚| 二色av| 丁香五月冃欧美| 日本久久性| 国产精品涩涩涩视频网站| 超级碰碰碰久久网站| 色欲婷婷五月天| 婷婷网五月| 99热老网站| 激情98色婷婷五| 久久婷婷啪啪视频| 五月宗合激情网| 综合激情视频| 婷婷之玖玖| 多精窝99在线视频| 亚洲无码yw| 国产偷人爽久久久久久老妇APP| 五月叮香啪| 97色五月天| 久久婷婷五月综合色奶水99啪| 性av| 亚洲另类在线观看| www激情| 亚洲亚洲人成综合网络| 国产综合视频婷婷| 五月开心深爱激情网| 狠狠色成人影片| 亚洲婷婷激情综合激情999精品| 九九热再线九九视频免费在线观看 | 激情九月综合| 久婷视频| 天堂婷婷丁香六月网| 亚洲中文字幕网| 国产综合丁香五月天| 综合五月亭亭9| 99热最新网址| 啪啪夜久久| 丁香婷婷视频一区二区| 国产精品18久久久| 狠狠干五月天婷婷网| 色五月涩涩婷婷| Www.久久| 久久深爱激情网| 无码人妻少妇色欲AV一区二区| 玖玖爱资源站| 97色色综合| 一区二区三区四区牛| 天天透天天摸天天舔| 婷婷丁香六月天| 永久无码色| 精品激情| 色一情一乱一乱一区91| 欧美天堂久久| 久久婷婷五月天激情| 色深爱五月| 熟妇天天综合| 天天摸色吧天天摸色吧| 久操乱| 婷婷五月天免费| 亚洲精品字幕| 色婷婷五月天堂资源| 少妇性BBB搡BBB爽爽爽视頻| 在线VA视频| 国产乱妇无乱码大黄AA片| 激情欧美婷婷| 色五月综合网| 久月丁香爱婷婷综合| 九九热在线视频| 中文字幕婷婷五月天| 亭亭玉月丁香| 婷婷五月天视| 99热在线观看| 色综合综合色| 热99.com婷婷| 国产毛片精品一区二区色欲黄A片| 操人精品| A片一曲| 91丨九色丨东北熟女| 色色色色色综合| 思思99精品视频| 国产又色又爽又黄又免费| 色五月婷婷激情五月| 影音先锋 萱萱| 五月开心深爱激情网| 美国天天操无码| 男人天堂99| 人人色人人摸人人看| 国产欧美熟妇另类久久久| 狠狠操在线视频| 色婷婷影视99| 激情婷婷丁香五月天| 婷婷综合另类小说| 婷婷D区| 五月婷婷天天| 五月丁香六月婷综合成人综合| 色99视频| www.激情五月天| 午夜成人综合| 深爱激情五月天| 六月婷婷国产| 色婷婷久久天天性爱| 丁香六月婷婷久久综合| 久久综合天天综合| 色五月超碰| 色99视频| 色香欲综合| 伊人五月天综合网| 亚洲成人日韩无码精品| www久久久久久久97| 婷婷爱综合| 六月丁香婷婷综合影院| 五月丁香综合激情网| 五月天成人在线| 久久婷婷五月天激情四射| 国产亚洲精品久久久久久牛牛| 天天做天天摸| 国产亚洲99| 五月婷婷丁香五月| 大香网伊人久久综合| 五月婷婷激情久久| 深爱五月激情网| 18久久| 99在线精品免费视频| 色无码| 99久久成人| 超碰免费成人| 91人人妻人人操人人爽| 六月婷婷五月丁香| 五月婷婷六月情| caopeng97日韩| 丁香六月啪啪啪| 色综久久久| 99热99色| 伊人激情综合网| 色99欧洲色19| 这里只有精9| 欧美日韩国产一区| 大香蕉婷婷婷| 天天色粽合合合合合合合| 精品爆操| 99热在线成人网站| 五月花成人网| 五月婷视频久久| 99久操| 99热亚州综合| 97精品人人A片免费看| 色色吧综合| 九九视频在线| 99成人小视频| 99视频精品8 | 成人在线精品| 人人摸人人| 人人视频色| 狠狠色激情在线| 热99这里只是精品| 色欲影香| 一婬一伦一区二区三区| 国成人网| 伊人久久丁香狠狠婷婷综合香蕉| 婷婷欧美| 久碰视频| 六月婷婷色综合| 99在线视频播放| 精品人妻伦一二三区久久| 色人妻五月| 五月天婷婷丁香视频| 99这里只有精品国产| 深爱激情中文五月天av| 99re热在线视频| 久久婷婷五月综合色奶水99啪| 天天综合91入口| 久久精品天| 丁香五月手机视频| 奇米四色五月天| 九九伦子片| 91主播在线| 91美女啪啪| 热久久这里只有三级视频| 99欧美热| 色综合女人99| 国产在线视频1234| 久操人| 日韩综合久| 9 99免费视频| 97碰| 性韩日色婷婷五月天激情啪啪XXX| WWW久久久| 日本综合久| 欧美大奶熟女噜噜噜噜| 欧美美女国产日韩一区二区久 | 狠狠色丁香乆乆| 久综合4| 色五月婷婷91在线| 激情九色| 亚洲中文字幕网| 欧美五月丁香在线| 伊人五月人妻精品| av中文网站| 丁香五月伊人| 人人操91| 丁香六月婷婷综合| 色婷丁香91| 欧美日本高清视频99| 色婷婷a| 99色在线观看免费| 欧洲亚洲欧洲99久久| 五月丁香六月香综合激情| 六月综合婷婷开心伊人| 九九精品自拍| 99re在线播放| 丁香狠狠色婷婷久久无码视频| 丁香五月黄色| 五月丁香综合啪啪| 亚洲婷婷丁香五月亚洲| 婷婷干五月综合在线播放| 久久久无码精品成人A片小说| 久久9视频| 欧美顶级少妇做爰HD| 99操不停| 丁香五月性| www激情网| 五月天 婷 欧美亚洲| 亚洲欧美婷婷五月色综合| 影音先锋美国A| 婷婷色操| 五月丁香久久久日婷婷久久婷婷日 | 伊人五月天97| 色五月婷婷久久爱| 天天日天天干天天爽| 五月激情婷婷丁香| 久久大国产香蕉| 91丨九色丨丰满人妖| 丁香六月婷婷综合麻豆| 99热这里只有精品1| 婷婷五月花| 99啪视频在线观看| 久久五月天激情婷婷| xxx.色婷婷| 9久久精品| 婷婷综合在线视频| 天天婷婷操| 日韩精品一区二区亚洲AV观看 | 婷婷干五月综合在线播放| 99爱爱| 亚洲成人在线观看网址| 久久草人妻| 亚洲五月婷婷| 懂色av粉嫩av蜜臀av| 97人人操人人| 久久久精品色| 色五月婷婷五月天| 婷婷情色五月天| 。久久久久久久久久久久久久人妻| 日韩欧美颜射| 婷婷之玖玖| 日夜夜天天| 五月开心久久| 伊人网啪啪| 色五月丁香五月婷婷五月成人网| 天天干天干| 97碰人人操| 婷婷激情五月天在线| 超碰成人免费| 九九99九九99九九99视频网| 伊人五月丁香| 日韩久久成人| 色婷婷五月天激情| 99九九视频精彩在线| www.99.色| 激情五月综合六月丁香婷婷狠狠干| 日本婷久久| 超碰97色| 天天舔天天摸天天透| 极品人妻XXXXOOOO| AV色五月婷婷| 伊人91| 99九九精品视频| 五月婷婷六月情| 色综啪啪啪啪啪啪| 色天天综合成人网| 婷婷五月花| 成人必爱视| 婷婷五月天成人| 大香蕉520| 99久久网站| WWW99热| 丁香六月婷婷色播| 99丁香五月婷婷在线| 激情丁香图片| 91干99| 狠狠激情五月天| 伊人99久久| 婷婷五月综合啪| 欧美槡BBBB槡BBB少妇| 99极品视频| 色区久久| 色99视| 成人无码精品1区2区3区免费看| 五月婷婷六月丁| 五月综合视频| www.狠狠操.con| 亚洲第一成人无码A片| 丁香五月大片| 国产精品日本一区二区在线播放| 五月永久激情| 亚洲综合五月天婷婷| 玖玖资源天天无码| 五月激情久久| 九九无码| 97色久| 女人天堂AV| 狠狠色综合777| 丁香伍月婷电影全集| 日日艹思思热| 亚洲 欧洲 国产 伦综合| 26uuu精品一区二区| 26UUU| 亚洲sesesese| 国外亚洲成AV人片在线观看| 99热久| 疯狂做受XXXX高潮A片动画| 丁香五月网| 九97免费视频| 婷婷激情人妻| 色情五月天小说| 大香蕉啪啪啪| 色色色国产| 激情五月综合久久| 超碰久热| 涩五月丁香| 伊人婷婷91| 国产午夜一区二区三区| 色九月激情综合网| 一本九九色| 午夜色婷婷| 夜夜噜夜夜奇| 激情久久月| 99视频在线精品免费观看2| 丁香婷婷久久激情| 激情骚五月| 久操大香蕉| 欧美综合在线五月天色婷婷| 亚洲视频1区| 日日色综合| 亚州AV超碰人人操| 色婷婷免费观看| 免费看成人AA片无码视频吃奶| 99热在线免费| 九月丁香| 九九综合九色欧美狠狠| 无码人妻电影| 开心五月激情五月丁香五月婷婷| 日亚二欧美| 福利视频在线播放| 婷婷五月综合体验看| 五月激情五月丁香| 99热久久日本| 亚洲无码99| 五月综合在线| caopeng97日韩| 狠狠狠狠狠狠色| AV在线不卡播放| 日日噜噜夜夜狠狠久久丁香六月| 天天日夜夜夜操操操操| 视频一二区| 人人色人人弄人人操| 久久停停超碰| 日屌日日操日日色| 激情婷婷内射| 97色色婷婷五月天| 99久久超级| 午夜色婷婷| 丁香五月激情婷婷| 色综合射婷婷| www.久久爱.com| 久久婷婷亚洲| 国内婷婷丁香社区在线播放| av无码电影| 午夜成人av在线| 婷婷综合激情| 男女99免费视频| 色色AV色色色东莞| 精品成人无码A片观看香草视频 | 色色欧美。| 一级AV片| 啪啪夜久久| 这里只有精品,日韩视频| 九九色热视频| 在线成人网站| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 色色色图| www.色五月.com| www.99热视频| 亚洲久热无码| 五月丁香成人| 五月婷婷视频啪啪美女| 亚洲一个色| 日本不卡中文字幕| 狠狠色丁香久久| 成人无码中文| 久久这里只有精品视频15| 丰满少妇乱A片无码| 可以免费观看的AV| 9久热| 日韩操人| 九九综合九九| 狠狠爱婷婷爱| 欧美日韩成人在线观看| 偷拍五月丁香| 无码任你操| 79精品视频| 婷婷激情五月色综合| www 五月天 com| 五月婷婷久久综合| 婷婷五月丁香性爱| 丁香五月天欧美成人| 婷婷六月久久综合导航| 久色激情| 婷婷中文字幕网| 丁六月激情| 五月丁香琪琪| 色呦呦在线| 五月丁香婷成人网| 激情综合激情综合| 无遮挡国产高潮视频免费观看| 爆乳熟女一区二区三区爆乳| 夜夜夜叫天天天做| 天天爽夜夜爽| 中文字幕精品在线观看| 日逼免费视频| 色五月婷婷av| #NAME?| 再次出发二| 欧美日韩成人一区二区| 99欧美精品99日本精品| 久热视频A.| 九月婷婷激情| 激情婷婷在线| 色婷婷深爱五月| 91人人操人人| 亚洲在线播放| 天天舔天天插天天干| 深爱婷婷网| 六月婷婷久久| 六月合五月婷| 亚洲AV影片在线观看| 中文字幕婷婷五月天| 综合视频久久| 五月亭久久无码视频| 深爱激情av| 99视频精品| 九九aV| av在线免费网站 | 亚洲五月天第一综合干| 天天色丁香| 韩国情人在线电视剧免费观看高清版全集| 五月色导航| 五月婷婷六月丁香综合| 免费国产视频| 九九激情网| 综合网精品99| 国产精品电影网| 婷婷五月丁香六月伊人网| 丁香六月天婷婷开心综合| 婷婷亚洲综合| 俺去也五月天| 91九色PORNY大屁股| 99热久草| 色五月婷婷、老熟女| 色五月婷婷小说亚洲中文字幕组| 超碰av在线| 色五月综合激情网| 人妻久热| 婷婷丁香五月六月激情| 超碰资源在线| 欧洲第一无人区观看| 在线成人av播放| 六月婷婷天天操夜夜爽视频| 涩婷婷五月天| 婷婷五月丁香综合| 免费观看全黄做爰的视频| 色婷婷基地在线| 激情五月久久| 99er这里只有精品| 国产精品美女| 再次出发二| 国产国产乱老熟女视频网站97| 五月天婷婷在线啪啪视频| 亚洲V国产V欧美V久久久久久| 五月天激情网图片 - 百度| 天天操天天插| 狠狠狠激情网| 五月婷婷丁香日韩在线| 99精品22| 人人干Av| 沈娜娜av| 99免费热在线精品| 婷婷五月在线观看| 电影蜘蛛女| 裸体做A爰片毛片A片免费| 婷婷丁香基地在线| 丁香五月婷婷国产在线| 激情五月天综合| 久久九九国产| 中文字幕在线日亚洲9| 五月色综合网欧美网| 99热这里只有精品8| 亚洲色五月天在线| 婷婷五月天久草在线| 亚洲va欧洲va国产va不卡| 婷婷玖玖丁香| 丁香五月香蕉| 日韩人妻无码一区二区| 日比网免费国产| 99久久性爱| 色婷婷丁香综合中文字幕| 色婷婷色99国产综合精品| 五月婷婷香蕉| Av在线资源| 伊人网碰碰| 日本激情ⅩXX免费视频| 久久久99精品免费观看| 婷婷五月天香蕉| 91啪啪网| 色五月婷婷色| 69色色视频| 国产.亚洲.欧洲视频在线| 婷婷丁香五月激情| 婷婷开心综合人妻小说网址| 月色色综合婷婷网| 91超级碰碰| 久久婷婷五月天激情| 97人妻碰碰碰久久| 久草热在线视频| 色性五月天| 97碰| 成人精品视频99在线观看免费| 婷婷五月情天| 最新色色五月天| 五月开心播播网| 成功精品影院| 思思热99er在线视频| 五月天堂六月丁香亚州中文字幕久久| 日本久久人人| 3p日韩网站视频| √天堂资源在线人妻熟女| 天天色综合色| 五月天三级久久|