日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

“全能”选手—Django 1.10文档中文版Part1

發(fā)布時間:2025/6/17 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 “全能”选手—Django 1.10文档中文版Part1 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

歡迎大家訪問我的個人網(wǎng)站《劉江的博客和教程》:www.liujiangblog.com

### 主要分享Python 及Django教程以及相關(guān)的博客

本文是博主翻譯的Django1.10版本官方文檔的第一部分,如時間充裕,爭取一直翻譯下去,經(jīng)驗不足,或有錯漏,敬請指正。
另外對于公開文檔進行翻譯的版權(quán)問題不是很清楚,如有侵權(quán)請聯(lián)系我!

另外,要轉(zhuǎn)載該系列翻譯文章,也請聯(lián)系博主。

第二部分傳送門

第三部分傳送門

第四部分傳送門

3.2 模型和數(shù)據(jù)庫Models and databases

3.2.2 查詢操作making queries

3.3.8 會話sessions

目錄

第一章、Django1.10文檔組成結(jié)構(gòu)
1.1 獲取幫助
1.2 文檔的組織形式
1.3 第一步
1.4 模型層
1.5 視圖層
1.6 模板層
1.7 表單
1.8 開發(fā)流程
1.9 admin站點
1.10 安全性
1.11 國際化和本地化
1.12 性能和優(yōu)化
1.13 Python兼容性
1.14 地理框架
1.15 常用WEB應用工具
1.16 其它核心功能
1.17 Django開源項目

第二章、起步
2.1 Django速覽

  • 2.1.1 設計你的模型model
  • 2.1.2 安裝model
  • 2.1.3 使用API
  • 2.1.4 功能強大的動態(tài)admin后臺管理界面
  • 2.1.5 設計你的路由系統(tǒng)URLs
  • 2.1.6 編寫你的視圖views
  • 2.1.7 設計你的模板
  • 2.1.8 總結(jié)

2.2 快速安裝指南

  • 2.2.1 安裝Python
  • 2.2.2 安裝Django
  • 2.2.3 安裝驗證

2.3 第一個Django app,Part 1:請求和響應

  • 2.3.1 創(chuàng)建project
  • 2.3.2 開發(fā)服務器development server
  • 2.3.3 創(chuàng)建投票程序(polls app)
  • 2.3.4 編寫視圖

2.4 第一個Django app,Part 2:模型和admin站點

  • 2.4.1 數(shù)據(jù)庫安裝
  • 2.4.2 創(chuàng)建模型models
  • 2.4.3 激活模型
  • 2.4.4 學會使用API
  • 2.4.5 Django admin站點介紹

第一章、Django1.10文檔組成結(jié)構(gòu)

1.1 獲取幫助

獲取幫助的方式:

  • 參考第5.1節(jié)的FAQ,這里包含許多常見問題的回答
  • 查找特定的信息?嘗試一下智能檢索、混合索引或者內(nèi)容詳細表
  • 在10.2.1的DJango用戶郵件列表中查找信息或發(fā)布問題
  • 在django的IRC頻道提問或者查找IRC日志看看是否已經(jīng)有類似問題
  • 報告DJango中的bug

1.2 文檔的組織形式

Django有許多文檔,一個高層次的概覽有助于你快速找到想要的信息:

  • 入門教程:手把手的教會你創(chuàng)建一個WEB應用。如果你是個Django或者WEB應用開發(fā)者新手,從這里開始學習是個不錯的選擇。也可以先看看下面的“第一步”。
  • 主題向?qū)?#xff1a;討論一些比較關(guān)鍵的主題和概念,屬于比較高的水平,提供一些有用的背景信息和解釋。
  • 參考指南:包含API的使用指導和一些Django內(nèi)核的其它方面。主要描述Django是怎么工作的,如何使用它。學習這部分的前提是你需要對一些關(guān)鍵概念具有基本的理解和掌握。
  • “怎么辦”向?qū)?#xff1a;主要討論一些關(guān)鍵的問題和使用場景。比入門教程更深入,需要你對Django的工作機制有一定的了解。

1.3 第一步

如果你是Django或程序員新手,那么從這里開始吧!

  • 從零開始:概覽 | 安裝
  • 入門教程:Part 1:請求和響應 | Part 2:模型和admin站點 | Part 3:視圖和模板 | Part 4:表單和泛型 | Part 5:測試 | Part 6:靜態(tài)文件 | Part 7:自定制admin站點
  • 高級教程: 如何編寫可重用的應用 | 編寫你的第一個Django補丁

1.4 模型層

Django提供了一個抽象的模型層,用于組織和操縱你的WEB應用數(shù)據(jù)。

  • 模型:模型介紹 | 字段類型 | Meta選項 | 模型類
  • 查詢結(jié)果集:執(zhí)行查詢 | 查詢結(jié)果集方法參考 | 查詢表達式
  • 模型實例: 實例方法 | 訪問關(guān)系對象
  • 遷移: 遷移介紹 | 操作參考 | 計劃編輯 | 編寫遷移
  • 高級: 管理器 | 原生SQL | 事務 | 聚合 | 查找 | 自定義字段 | 多數(shù)據(jù)庫 | 自定義查詢 | 查詢表達式 | 條件表達式 | 數(shù)據(jù)庫函數(shù)
  • 其它:支持的數(shù)據(jù)庫 | 遺留數(shù)據(jù)庫 | 提供初始化數(shù)據(jù) | 優(yōu)化數(shù)據(jù)庫訪問 | PostgreSQL特有

1.5 視圖層

Django將封裝響應用戶請求邏輯和返回數(shù)據(jù)稱為“視圖”。在下面的列表中,你能找到所有和視圖相關(guān)的內(nèi)容:

  • 基礎: 路由配置 | 視圖函數(shù) | 快捷方式 | 裝飾器
  • 參考: 內(nèi)置視圖 | 請求/響應對象 | 模板響應對象
  • 文件上傳: 概覽 | 文件對象 | 儲存API | 管理文件 | 自定義存儲
  • 基類視圖: 概覽 | 內(nèi)置顯示視圖 | 內(nèi)置編輯視圖 | 混合使用 | API參考 | 分類索引
  • 高級: 生成CSV | 生成PDF
  • 中間件:概覽 | 內(nèi)置中間件類

1.6 模板層

模板層提供一種人性化的語法,用于渲染展示給用戶的內(nèi)容,主要內(nèi)容包括下列:

  • 基礎:概覽
  • 對于設計師:語言概覽 | 內(nèi)置標簽和過濾器 | 人性化
  • 對于程序員: 模板API | 自定義標簽和過濾器

1.7 表單

Django 提供了一個內(nèi)容豐富的框架可便利地創(chuàng)建表單及操作表單數(shù)據(jù)。

  • 基礎: 概覽 | 表單 API | 內(nèi)置字段 | 內(nèi)置小工具
  • 高級: 模型表單 | 表單外觀 | 表單集 | 自定義驗證

1.8 開發(fā)流程

學習不同的組件和工具,幫助你開發(fā)和測試Django應用。

  • 設置:概覽 | 全部設置列表
  • 應用: 概覽
  • 異常:概覽
  • Django-admin和manage.py:概覽 | 添加自定義命令
  • 測試:介紹 | 編寫和運行測試 | 導入測試工具 | 高級主題
  • 部署:概覽 | WSGI服務器 | 部署靜態(tài)文件 | 通過郵件跟蹤代碼錯誤

1.9 admin站點

在這里,你可以找到Django中最受歡迎的功能模塊——admin站點的一切:

  • admin站點
  • admin動作
  • admin文檔生成器

1.10 安全性

開發(fā) Web 應用時安全是最重要一個的主題,Django 提供了多重保護工具和機制:

  • 安全概覽
  • 披露的Django安全問題
  • 點擊劫持的防護
  • 跨站請求偽造防護
  • 加密簽名
  • 安全中間件

1.11 國際化和本地化

Django 提供了一個強大的國際化和本地化框架,以協(xié)助您開發(fā)支持多國語言和世界各地區(qū)的應用:

  • 概覽 | 國際化 |本地化 | 本地WEB UI 格式化和表單輸入
  • 時區(qū)

1.12 性能和優(yōu)化

有許技術(shù)和工具可以幫助你的代碼運行得更加高效、快速,占用更少的系統(tǒng)資源。

  • 性能和優(yōu)化概覽

1.13 Python兼容性

Django 希望兼容多個不同特性和版本的 Python:

  • Jython支持
  • Python3 兼容性

1.14 地理框架

GeoDjango 想要做一個世界級的地理Web框架。 它的目標是盡可能輕松的構(gòu)建GIS Web 應用和發(fā)揮空間數(shù)據(jù)的能力。

1.15 常用WEB應用工具

Django 為開發(fā)Web應用提供了多種常見的工具:

  • 身份認證:概覽 | 使用認證系統(tǒng) | 密碼管理 | 自定義認證 | API參考
  • 緩存
  • 日志
  • 發(fā)送郵件
  • 聯(lián)合供稿(RSS/Atom)
  • 分頁
  • 消息框架
  • 序列化
  • 會話
  • 站點地圖
  • 靜態(tài)文件管理
  • 數(shù)據(jù)驗證

1.16 其它核心功能

Django的其它核心功能包括:

  • 按需處理內(nèi)容
  • 內(nèi)容類型和泛型關(guān)系
  • 簡單頁面
  • 重定向
  • 信號
  • 系統(tǒng)檢查框架
  • 站點框架
  • 在 Django 中使用 Unicode

1.17 Django開源項目

下面是Django項目本身的開發(fā)進程和如何做出貢獻相關(guān):

  • 社區(qū): 如何參與 | 發(fā)布過程 | 團隊組織 | 團隊會議 | 主要人員 | 源碼倉庫 | 安全策略 | 郵件列表
  • 設計理念: 概述
  • 文檔: 關(guān)于本文檔
  • 第三方發(fā)行: 概述
  • Django 的過去: API 穩(wěn)定性 | 發(fā)行說明和升級說明 | 功能棄用時間軸

第二章、起步

2.1 Django速覽

Django的開發(fā)背景是快節(jié)奏的新聞編輯室環(huán)境,因此它被設計成一個大而全的web框架,能夠快速簡單的完成任務。本節(jié)將快速介紹如何利用Django搭建一個數(shù)據(jù)庫驅(qū)動的WEB應用。
它不會有太多的技術(shù)細節(jié),只是讓你理解Django是如何工作的。

2.1.1 設計你的模型model

Django提供了ORM,通過它,你能直接使用Python代碼來描述你的數(shù)據(jù)庫設計。下面是一個例子:

# mysite/news/models.pyfrom django.db import modelsclass Reporter(models.Model):full_name = models.CharField(max_length=70)def __str__(self): # __unicode__ on Python 2return self.full_name class Article(models.Model):pub_date = models.DateField()headline = models.CharField(max_length=200)content = models.TextField()reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE)def __str__(self): # __unicode__ on Python 2return self.headline

2.1.2 安裝model

接下來,進入Django命令行工具,創(chuàng)建數(shù)據(jù)庫表:
$ python manage.py migrate
migrate命令查找所有可用的model,如果它還沒有在數(shù)據(jù)庫中存在,將根據(jù)model創(chuàng)建相應的表。注:也許你需要先執(zhí)行$ python manage.py makemigrations命令。

2.1.3 使用API

Django為你提供了大量的方便的數(shù)據(jù)庫操作API,無需你編寫額外的代碼。下面是個例子:

# Import the models we created from our "news" app >>> from news.models import Reporter, Article # No reporters are in the system yet. >>> Reporter.objects.all() <QuerySet []> # Create a new Reporter. >>> r = Reporter(full_name='John Smith') # Save the object into the database. You have to call save() explicitly. >>> r.save() # Now it has an ID. >>> r.id 1 # Now the new reporter is in the database. >>> Reporter.objects.all() <QuerySet [<Reporter: John Smith>]> # Fields are represented as attributes on the Python object. >>> r.full_name 'John Smith' # Django provides a rich database lookup API. >>> Reporter.objects.get(id=1) <Reporter: John Smith> >>> Reporter.objects.get(full_name__startswith='John') <Reporter: John Smith> >>> Reporter.objects.get(full_name__contains='mith') <Reporter: John Smith> >>> Reporter.objects.get(id=2) Traceback (most recent call last): ... DoesNotExist: Reporter matching query does not exist. # Create an article. >>> from datetime import date >>> a = Article(pub_date=date.today(), headline='Django is cool', ... content='Yeah.', reporter=r) >>> a.save() # Now the article is in the database. >>> Article.objects.all() <QuerySet [<Article: Django is cool>]> # Article objects get API access to related Reporter objects. >>> r = a.reporter >>> r.full_name 'John Smith' # And vice versa: Reporter objects get API access to Article objects. >>> r.article_set.all() <QuerySet [<Article: Django is cool>]> # The API follows relationships as far as you need, performing efficient # JOINs for you behind the scenes. # This finds all articles by a reporter whose name starts with "John". >>> Article.objects.filter(reporter__full_name__startswith='John') <QuerySet [<Article: Django is cool>]> # Change an object by altering its attributes and calling save(). >>> r.full_name = 'Billy Goat' >>> r.save() # Delete an object with delete(). >>> r.delete()

2.1.4 功能強大的動態(tài)admin后臺管理界面

Django包含一個功能強大的admin后臺管理模塊,使用方便,要素齊全。有助于你快速開發(fā)。你只需要在下面兩個文件中寫幾句短短的代碼:
mysite/news/models.py

from django.db import models class Article(models.Model):pub_date = models.DateField()headline = models.CharField(max_length=200)content = models.TextField()reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE)

mysite/news/admin.py

from django.contrib import admin from . import modelsadmin.site.register(models.Article)

2.1.5 設計你的路由系統(tǒng)URLs

Django主張干凈、優(yōu)雅的路由設計,不建議在路由中出現(xiàn)類似.php或.asp之類的字眼。

路由都寫在URLconf文件中,它建立起URL匹配模式和python毀掉函數(shù)之間的映射,起到了解耦的作用。下面是一個例子:
mysite/news/urls.py

from django.conf.urls import url from . import views urlpatterns = [url(r'^articles/([0-9]{4})/$', views.year_archive),url(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive),url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail), ]

Django通過正則表達式,分析訪問請求的url地址,匹配相應的views,調(diào)用對應的函數(shù)。

2.1.6 編寫你的視圖views

每一個視圖都必須做下面兩件事情之一:返回一個包含請求頁面數(shù)據(jù)的HttoResponse對象或者彈出一個類似404頁面的異常。

通常,視圖通過參數(shù)獲取數(shù)據(jù),并利用它們渲染加載的模板。下面是一個例子:
mysite/news/views.py

from django.shortcuts import render from .models import Article def year_archive(request, year):a_list = Article.objects.filter(pub_date__year=year)context = {'year': year, 'article_list': a_list}return render(request, 'news/year_archive.html', context)

2.1.7 設計你的模板

Django有一個模板查找路徑,在settings文件中,你可以指定路徑列表,Django自動按順序在列表中查找你調(diào)用的模板。一個模板看起來是下面這樣的:
mysite/news/templates/news/year_archive.html

{% extends "base.html" %} {% block title %}Articles for {{ year }}{% endblock %} {% block content %} <h1>Articles for {{ year }}</h1> {% for article in article_list %} <p>{{ article.headline }}</p> <p>By {{ article.reporter.full_name }}</p> <p>Published {{ article.pub_date|date:"F j, Y" }}</p> {% endfor %} {% endblock %}

Django使用自己的模板渲染語法,Jinja2就是參考它設計出來的。雙大括號包含起來的是變量,它將被具體的值替換。圓點不但可以用來查詢屬性,也可以用來調(diào)用字典鍵值,列表索引和調(diào)用函數(shù)。
Django具有模板繼承、導入和加載的概念,分別使用extend、include和load語法。下面是一個基礎模板大概的樣子:
mysite/templates/base.html

{% load static %} <html> <head> <title>{% block title %}{% endblock %}</title> </head> <body> <img src="{% static "images/sitelogo.png" %}" alt="Logo" /> {% block content %}{% endblock %} </body> </html>

子模板繼承母模板的內(nèi)容,并加入自己獨有的部分。通過更換母版,可以快速的修改整改站點的外觀和樣式。

2.1.8 總結(jié)

Django為你提供了大量的模塊和組件,包括模板系統(tǒng)、模型系統(tǒng)、視圖系統(tǒng)以及其他一些通用組件和專用組件。他們之間都是獨立的,同時也是可選的,你完全可以使用自己的模板、模型、視圖。但是,Django給你提供的是一個集成度高的高效率整體框架,如果你自己的水平不是很高,那建議還是使用Django提供的吧。

2.2 快速安裝指南

在第三章的第一節(jié)有詳細的安裝指南,這里只是一個簡單的安裝向?qū)?#xff0c;用于快速搭建環(huán)境進入下面的章節(jié)。

2.2.1 安裝Python

Django與python版本的對應關(guān)系。

Django versionPython versions
1.82.7, 3.2 (until the end of 2016), 3.3, 3.4, 3.5
1.9, 1.102.7, 3.4, 3.5
1.112.7, 3.4, 3.5, 3.6
2.03.5+

請前往Python官網(wǎng)下載并安裝python。 另外,python和Django自帶輕量級數(shù)據(jù)庫SQLite3,因此,在學習階段你無需安裝并配置其他的數(shù)據(jù)庫。

2.2.2 安裝Django

如果你是通過升級的方式安裝Django,那么你需要先卸載舊的版本,具體查看3.1.4節(jié)。
你可以通過下面的3種方法安裝Django:

  • 安裝你的操作系統(tǒng)提供的發(fā)行版本
  • 安裝官方版本(推薦)
  • 安裝開發(fā)版本

這里,請前往Django官網(wǎng)下載最新版本或通過pip3 install django進行安裝。

下面是Django官方對版本的支持策略:


而這是未來發(fā)布版本的路線圖:

2.2.3 安裝驗證

進入python環(huán)境,輸入下列命令,注意版本號和你新安裝的一致:

>>> import django >>> print(django.get_version()) 1.10

或者使用命令$ python -m django --version查看版本號。

下面,我們將進入官方文檔提供的編寫第一個Django app教程!

2.3 第一個Django app,Part 1:請求和響應

在這個例子中,我們將編寫一個問卷調(diào)查網(wǎng)站,它包含下面兩部分:

  • 一個可以讓人們進行投票和查看結(jié)果的公開站點
  • 一個讓你可以進行增刪改查的后臺admin管理界面

本教程使用Django 1.10 及Python 3.4以上版本!

2.3.1 創(chuàng)建project

進入你指定的某個目錄,運行下面的命令:
$ django-admin startproject mysite
這將在目錄下生成一個mysite目錄,也就是你的這個Django項目的根目錄。它包含了一系列自動生成的目錄和文件,具備各自專有的用途。注意:在給項目命名的時候必須避開Django和Python的保留關(guān)鍵字,比如“django”,“test”等,否則會引起沖突和莫名的錯誤。對于mysite的放置位置,不建議放在傳統(tǒng)的/var/wwww目錄下,它會具有一定的數(shù)據(jù)暴露危險,因此Django建議你將項目文件放在例如/home/mycode類似的位置。
一個新建立的項目結(jié)構(gòu)大概如下:

mysite/manage.pymysite/__init__.pysettings.pyurls.pywsgi.py

詳細解釋:

  • 外層的mysite/目錄與Django無關(guān),只是你項目的容器,可以任意命名。
  • manage.py:一個命令行工具,用于與Django進行不同方式的交互腳本,非常重要!
  • 內(nèi)層的mysite/目錄是真正的項目文件包裹目錄,它的名字是你引用內(nèi)部文件的包名,例如:mysite.urls。
  • mysite/init.py:一個定義包的空文件。
  • mysite/settings.py:項目的主配置文件,非常重要!
  • mysite/urls.py:路由文件,所有的任務都是從這里開始分配,相當于Django驅(qū)動站點的內(nèi)容表格,非常重要!
  • mysite/wsgi.py:一個基于WSGI的web服務器進入點,提供底層的網(wǎng)絡通信功能,通常不用關(guān)心。

2.3.2 開發(fā)服務器development server

進入mystie目錄,輸入下面的命令:
$ python manage.py runserver
你會看到下面的提示:

Performing system checks... System check identified no issues (0 silenced). You have unapplied migrations; your app may not work properly until they are applied. Run `python manage.py migrate' to apply them. September 07, 2016 - 15:50:53 Django version 1.10, using settings `mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.

Django提供了一個用于開發(fā)的web服務器,使你無需配置一個類似Ngnix的線上服務器,就能讓站點運行起來。但你也不要將開發(fā)服務器用于生產(chǎn)環(huán)境,它只是一個簡易的測試服務器。
現(xiàn)在,在瀏覽器訪問http://127.0.0.1:8000/,你將看到Django的歡迎陰面,一切OK!
django開發(fā)服務器(以后省略)默認運行在內(nèi)部的8000端口,如果你想指定,請在命令中顯示給出,例如:
$ python manage.py runserver 0.0.0.0:8000
上面:Django將運行在8000端口,整個子網(wǎng)內(nèi)都將可以訪問,而不是本機。
注意: Django的開發(fā)服務器具有自動重載功能,當你的代碼有修改,每隔一段時間服務器將自動更新。但是,有一些例如增加文件的動作,不會觸發(fā)服務器重載,這時就需要你自己手動重啟。

2.3.3 創(chuàng)建投票程序(polls app)

app與project的區(qū)別:

  • 一個app實現(xiàn)某個功能,比如博客、公共檔案數(shù)據(jù)庫或者簡單的投票系統(tǒng);
  • 一個project是配置文件和多個app的集合,他們組合成整個站點;
  • 一個project可以包含多個app;
  • 一個app可以屬于多個project!

app的存放位置可以是任何地點,但是通常我們將它們都放在與manage.py同級目錄下,這樣方便導入文件。

進入mysite目錄,確保與manage.py文件處于同一級,輸入下述命令:
$ python manage.py startapp polls
系統(tǒng)會自動生成 polls目錄,其結(jié)構(gòu)如下:

polls/__init__.pyadmin.pyapps.pymigrations/__init__.pymodels.pytests.pyviews.py

2.3.4 編寫視圖

在polls/views.py文件中,輸入下列代碼:

from django.http import HttpResponsedef index(request):return HttpResponse("Hello, world. You're at the polls index.")

為了調(diào)用該視圖,我們還需要編寫urlconf?,F(xiàn)在,在polls目錄中新建一個文件,名字為urls.py,在其中輸入代碼如下:

from django.conf.urls import url from . import viewsurlpatterns = [url(r'^$', views.index, name='index'), ]

下一步是讓項目的主urls文件指向我們建立的polls這個app獨有的urls文件,你需要先導入include模塊,打開mysite/urls.py文件,代碼如下:

from django.conf.urls import include, url from django.contrib import adminurlpatterns = [url(r'^polls/', include('polls.urls')),url(r'^admin/', admin.site.urls), ]

include語法相當于二級路由策略,它將接收到的url地址去除了它前面的正則表達式,將剩下的字符串傳遞給下一級路由進行判斷。在路由的章節(jié),有更加詳細的用法指導。
include的背后是一種即插即用的思想。項目根路由不關(guān)心具體app的路由策略,只管往指定的二級路由轉(zhuǎn)發(fā),實現(xiàn)了解耦的特性。app所屬的二級路由可以根據(jù)自己的需要隨意編寫,不會和其它的app路由發(fā)生沖突。app目錄可以放置在任何位置,而不用修改路由。這是軟件設計里很常見的一種模式。
建議:除了admin路由外,你應該盡量給每個app設計自己獨立的二級路由。

好了,路由也搭建成功,下面我們啟動服務器,然后在瀏覽器中訪問地址http://localhost:8000/polls/。一切正常的話,你將看到“Hello, world. You’re at the polls index.”

url()函數(shù)可以傳遞4個參數(shù),其中2個是必須的:regex和view,以及2個可選的參數(shù):kwargs和name。下面是具體的解釋:

regex:
regex是正則表達式的通用縮寫,它是一種匹配字符串或url地址的語法。Django拿著用戶請求的url地址,在urls.py文件中對urlpatterns列表中的每一項條目從頭開始進行逐一對比,一旦遇到匹配項,立即執(zhí)行該條目映射的視圖函數(shù)或二級路由,其后的條目將不再繼續(xù)匹配。因此,url路由的編寫順序至關(guān)重要!

需要注意的是,regex不會去匹配GET或POST參數(shù)或域名,例如對于https://www.example.com/myapp/,regex只嘗試匹配myapp/。對于https://www.example.com/myapp/?page=3,regex也只嘗試匹配myapp/。

如果你想深入研究正則表達式,可以讀一些相關(guān)的書籍或?qū)U?#xff0c;但是在Django的實踐中,你不需要多高深的正則表達式知識。

性能注釋:正則表達式會進行預先編譯當URLconf模塊加載的時候,因此它的匹配搜索速度非常快,你通常感覺不到。

view:
當正則表達式匹配到某個條目時,自動將封裝的HttpRequest對象作為第一個參數(shù),正則表達式“捕獲”到的值作為第二個參數(shù),傳遞給該條目指定的視圖。如果是簡單捕獲,那么捕獲值將作為一個位置參數(shù)進行傳遞,如果是命名捕獲,那么將作為關(guān)鍵字參數(shù)進行傳遞。

kwargs:
任意數(shù)量的關(guān)鍵字參數(shù)可以作為一個字典傳遞給目標視圖。

name:
對你的URL進行命名,可以讓你能夠在Django的任意處,尤其是模板內(nèi)顯式地引用它。相當于給URL取了個全局變量名,你只需要修改這個全局變量的值,在整個Django中引用它的地方也將同樣獲得改變。這是極為古老、樸素和有用的設計思想,而且這種思想無處不在。

2.4 第一個Django app,Part 2:模型和admin站點

接著上一部分,本節(jié)將講述如何安裝數(shù)據(jù)庫,編寫第一個模型以及簡要的介紹下Django自動生成的admin站點。

2.4.1 數(shù)據(jù)庫安裝

打開mysite/settings.py配置文件。Django默認使用內(nèi)置的SQLite數(shù)據(jù)庫。當然,如果你是在創(chuàng)建一個實際的項目,請使用類似MySql的生產(chǎn)用數(shù)據(jù)庫,避免以后面臨數(shù)據(jù)庫切換的頭疼。
如果你想使用別的數(shù)據(jù)庫,請先安裝相應的數(shù)據(jù)庫模塊,并將settings文件中DATABASES ’default’的鍵值進行相應的修改,用于連接你的數(shù)據(jù)庫。其中:

ENGINE(引擎):可以是’django.db.backends.sqlite3’或者’django.db.backends.postgresql’,’django.db.backends.mysql’, or ’django.db.backends.oracle’,當然其它的也行。

NAME(名稱):數(shù)據(jù)庫的名字。如果你使用的是默認的SQLite,那么數(shù)據(jù)庫將作為一個文件將存放在你的本地機器內(nèi),NAME應該是這個文件的完整絕對路徑,包括文件名。設置中的默認值os.path.join(BASE_DIR, ’db.sqlite3’),將把該文件儲存在你的項目目錄下。

如果你不是使用默認的SQLite數(shù)據(jù)庫,那么一些諸如USER,PASSWORD和HOST的參數(shù)必須手動指定!更多細節(jié)參考后續(xù)的數(shù)據(jù)庫章節(jié)。

注意:

  • 在使用非SQLite的數(shù)據(jù)庫時,請務必首先在數(shù)據(jù)庫提示符交互模式下創(chuàng)建數(shù)據(jù)庫,你可以使用命令:“CREATE DATABASE database_name;”。
  • 確保你在settings文件中提供的數(shù)據(jù)庫用戶具有創(chuàng)建數(shù)據(jù)庫表的權(quán)限,因為在接下來的教程中,我們需要自動創(chuàng)建一個test數(shù)據(jù)庫。
  • 如果你使用的是SQLite,那么你無需做任何預先配置,直接使用就可以了。

在修改settings文件時,請順便將TIME_ZONE設置為你所在的時區(qū)。
同時,請注意settings文件中頂部的INSTALLED_APPS設置項。它保存了所有的在當前項目中被激活的Django應用。你必須將你自定義的app注冊在這里。每個應用可以被多個項目使用,而且你可以打包和分發(fā)給其他人在他們的項目中使用。

默認情況,INSTALLED_APPS中會自動包含下列條目,它們都是Django自動生成的:

  • django.contrib.admin:admin站點
  • django.contrib.auth:身份認證系統(tǒng)
  • django.contrib.contenttypes:內(nèi)容類型框架
  • django.contrib.sessions:會話框架
  • django.contrib.messages:消息框架
  • django.contrib.staticfiles:靜態(tài)文件管理框架

上面的每個應用都至少需要使用一個數(shù)據(jù)庫表,所以在使用它們之前我們需要在數(shù)據(jù)庫中創(chuàng)建這些表。使用這個命令:$ python manage.py migrate。

migrate命令將遍歷INSTALLED_APPS設置中的所有項目,在數(shù)據(jù)庫中創(chuàng)建對應的表,并打印出每一條動作信息。如果你感興趣,可以在你的數(shù)據(jù)庫命令行下輸入:\dt (PostgreSQL), SHOW TABLES; (MySQL), 或 .schema (SQLite) 來列出 Django 所創(chuàng)建的表。

提示:對于極簡主義者,你完全可以在INSTALLED_APPS內(nèi)注釋掉任何或者全部的Django提供的通用應用。這樣,migrate也不會再創(chuàng)建對應的數(shù)據(jù)表。

2.4.2 創(chuàng)建模型models

Django通過自定義python類的形式來定義具體的模型,每個模型代表數(shù)據(jù)庫中的一張表,每個類的實例代表數(shù)據(jù)表中的一行數(shù)據(jù),類中的每個變量代表數(shù)據(jù)表中的一列字段。Django通過ORM對數(shù)據(jù)庫進行操作,奉行代碼優(yōu)先的理念,將python程序員和數(shù)據(jù)庫管理員進行分工解耦。

在這個簡單的投票應用中,我們將創(chuàng)建兩個模型:Question和Choice。Question包含一個問題和一個發(fā)布日期。Choice包含兩個字段:選擇的文本和投票計數(shù)。每一條Choice都關(guān)聯(lián)到一條Question。這些都是由python的類來體現(xiàn),編寫的全是python的代碼,不接觸任何sql語句?,F(xiàn)在,編輯polls/models.py文件,具體代碼如下:
polls/models.py

from django.db import modelsclass Question(models.Model):question_text = models.CharField(max_length=200)pub_date = models.DateTimeField('date published')class Choice(models.Model):question = models.ForeignKey(Question, on_delete=models.CASCADE)choice_text = models.CharField(max_length=200)votes = models.IntegerField(default=0)

上面的代碼非常簡單明了。每一個類都是django.db.models.Model的子類。每一個字段都是Field類的一個實例,例如用于保存字符數(shù)據(jù)的CharField和用于保存時間類型的DateTimeField,它們告訴Django每一個字段保存的數(shù)據(jù)類型。

每一個 Field 實例的名字就是字段的名字(如: question_text 或者 pub_date )。在你的Python代碼中會使用這個值,你的數(shù)據(jù)庫也會將這個值作為表的列名。

你也可以在每個Field中使用一個可選的第一位置參數(shù)用于提供一個人類可讀的字段名,讓你的模型更友好,更易讀,并且將被作為文檔的一部分來增強代碼的可讀性。在本例中,僅定義了一個符合人類習慣的字段名Question.pub_date。對于模型中的其他字段,機器名稱就已經(jīng)足夠我們認讀了。

一些Field類必須提供某些特定的參數(shù)。例如CharField需要你指定max_length。這不僅是數(shù)據(jù)庫結(jié)構(gòu)的需要,同樣也用于我們后面會談到的數(shù)據(jù)驗證功能。

有必填參數(shù),當然就會有可選參數(shù),比如在votes里我們將其默認值設為0.

最后請注意,我們使用ForeignKey定義了一個外鍵關(guān)系。它告訴Django,每一個Choice關(guān)聯(lián)到一個對應的Question。Django支持通用的數(shù)據(jù)關(guān)系:一對一,多對一和多對多。

2.4.3 激活模型

上面的代碼看著有點少,但卻給予Django大量的信息,據(jù)此,Django會做下面兩件事:

  • 創(chuàng)建該app對應的數(shù)據(jù)庫表結(jié)構(gòu)
  • 為Question和Choice對象創(chuàng)建基于python的數(shù)據(jù)庫訪問API

但是,首先,我們得先告訴項目,我們已經(jīng)安裝了投票應用。

Django思想:應用是“可插拔的”:你可以在多個項目使用一個應用,你也可以分發(fā)應用,它們不會被捆綁到一個給定的 Django 項目中。

要將應用添加到項目中,需要在INSTALLED_APPS設置中增加指向該應用的配置文件的鏈接。對于本例的投票應用,它的配置類文件是polls/apps.py,路徑格式為’polls.apps.PollsConfig’。我們需要在INSTALLED_APPS中,將該路徑添加進去。它看起來是這樣的:

mysite/settings.py

INSTALLED_APPS = [ 'polls.apps.PollsConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]

現(xiàn)在Django已經(jīng)知道你的投票應用的存在了,并把它加入了大家庭。我們再運行下一個命令:$ python manage.py makemigrations polls。你會看到類似下面的提示:

Migrations for 'polls': polls/migrations/0001_initial.py:- Create model Choice- Create model Question- Add field question to choice

通過運行migrations命令,相當于告訴Django你對你的模型有改動,并且你想把這些改動保存為一個“遷移”。

migrations是Django保存模型修改記錄的文件,它們是保存在磁盤上的文件。在例子中,它就是polls/migrations/0001_initial.py文件,你可以打開它看看,里面保存的都是可編輯的內(nèi)容,方便你隨時手動修改。

接下來有一個叫做migrate的命令將對數(shù)據(jù)庫執(zhí)行真正的遷移動作,下面我們就要介紹它。但是,在此之前,讓我們先看看在migration的時候?qū)嶋H試行的SQL語句是什么。有一個叫做sqlmigrate的 命令可以展示sql語句,例如:

$ python manage.py sqlmigrate polls 0001

你將會看到如下類似的文本(經(jīng)過適當?shù)母袷秸{(diào)整,方便閱讀):

BEGIN; -- -- Create model Choice -- CREATE TABLE "polls_choice" ("id" serial NOT NULL PRIMARY KEY,"choice_text" varchar(200) NOT NULL,"votes" integer NOT NULL ); -- -- Create model Question -- CREATE TABLE "polls_question" ("id" serial NOT NULL PRIMARY KEY,"question_text" varchar(200) NOT NULL,"pub_date" timestamp with time zone NOT NULL ); -- -- Add field question to choice -- ALTER TABLE "polls_choice" ADD COLUMN "question_id" integer NOT NULL; ALTER TABLE "polls_choice" ALTER COLUMN "question_id" DROP DEFAULT; CREATE INDEX "polls_choice_7aa0f6ee" ON "polls_choice" ("question_id"); ALTER TABLE "polls_choice"ADD CONSTRAINT "polls_choice_question_id_246c99a640fbbd72_fk_polls_question_id"FOREIGN KEY ("question_id")REFERENCES "polls_question" ("id")DEFERRABLE INITIALLY DEFERRED; COMMIT;

請注意:

  • 實際的輸出內(nèi)容將取決于您使用的數(shù)據(jù)庫會有所不同。上面的是PostgreSQL的輸出。
  • 表名是自動生成的,通過組合應用名 (polls) 和小寫的模型名 – question 和 choice 。 ( 你可以重寫此行為。)
  • 主鍵 (IDs) 是自動添加的。( 你也可以重寫此行為。)
  • 按照慣例,Django 會在外鍵字段名上附加 "_id" 。 (你仍然可以重寫此行為。)
  • 外鍵關(guān)系由FOREIGN KEY顯示聲明。不要擔心DEFERRABLE部分,它只是告訴PostgreSQL不要實施外鍵直到事務結(jié)束。
  • 生成 SQL 語句時針對你所使用的數(shù)據(jù)庫,會為你自動處理特定于數(shù)據(jù)庫的字段,例如 auto_increment (MySQL), serial (PostgreSQL), 或integer primary key (SQLite) 。 在引用字段名時也是如此 – 比如使用雙引號或單引號。
  • 這些 sql 命令并比較在你的數(shù)據(jù)庫中實際運行,它只是在屏幕上顯示出來,以便讓你了解 Django 真正執(zhí)行的是什么。

如果你感興趣,也可以運行python manage.py check命令,它將檢查項目中所有沒有進行遷移或者鏈接數(shù)據(jù)庫的錯誤。

現(xiàn)在,我們可以運行migrate命令,在數(shù)據(jù)庫中進行真正的表操作了。

$ python manage.py migrate Operations to perform:Apply all migrations: admin, auth, contenttypes, polls, sessions Running migrations:Rendering model states... DONEApplying polls.0001_initial... OK

migrate命令對所有還未實施的遷移記錄進行操作,本質(zhì)上就是將你對模型的修改體現(xiàn)到數(shù)據(jù)庫中具體的表上面。Django通過一張叫做django_migrations的表,記錄并跟蹤已經(jīng)實施的migrate動作,通過對比獲得哪些migrations尚未提交。

migrations的功能非常強大,允許你隨時修改你的模型,而不需要刪除或者新建你的數(shù)據(jù)庫或數(shù)據(jù)表,在不丟失數(shù)據(jù)的同時,實時動態(tài)更新數(shù)據(jù)庫。我們將在后面的章節(jié)對此進行深入的闡述,但是現(xiàn)在,我們只需要記住修改模型時的操作分三步:

  • 在models.py中修改模型
  • 運行python manage.py makemigrations為改動創(chuàng)建遷移記錄
  • 運行python manage.py migrate,將遷移同步到數(shù)據(jù)庫,落實修改動作。

之所以要將創(chuàng)建和實施遷移的動作分成兩個命令兩步走是因為你也許要通過版本控制系統(tǒng)(例如github,svn)提交你的項目代碼,如果沒有一個中間過程的保存文件(migrations),那么github如何知道以及記錄、同步、實施你所進行過的模型修改動作呢?畢竟,github不和數(shù)據(jù)庫直接打交道,也沒法和你本地的數(shù)據(jù)庫打交道。但是分開之后,你只需要將你的migration文件(例如上面的0001)上傳到github,它就會知道一切。

2.4.4 學會使用API

下面,讓我們進入python交互環(huán)境,學習使用Django提供的數(shù)據(jù)庫訪問API。要進入python的shell,請輸入命令:
$ python manage.py shell

相比較直接輸入“python”命令的方式進入python環(huán)境,調(diào)用manage.py參數(shù)能將DJANGO_SETTINGS_MODULE環(huán)境變量導入,它將自動按照mysite/settings.py中的設置,配置好你的python shell環(huán)境,這樣,你就可以導入和調(diào)用任何你項目內(nèi)的模塊了。

或者你也可以這樣,先進入一個純凈的python shell環(huán)境,然后啟動Django,具體如下:

>>> import django >>> django.setup()

如果上述操作出現(xiàn)AttributeError異常,有可能是你正在使用一個和當前教程不匹配的Django版本。解決辦法是學習較低版本的教程或更換更新版本的Django。

不管是哪種方式,你最終都是讓python命令能夠找到正確的模塊地址,得到正確的導入。

當你進入shell后,嘗試一下下面的API吧:

>>> from polls.models import Question, Choice # 導入我們寫的模型類# 現(xiàn)在系統(tǒng)內(nèi)還沒有questions>>> Question.objects.all()<QuerySet []># 創(chuàng)建一個新的question# Django推薦使用timezone.now()代替python內(nèi)置的datetime.datetime.now()from django.utils import timezone>>> q = Question(question_text="What's new?", pub_date=timezone.now())# 你必須顯式的調(diào)用save()方法,才能將對象保存到數(shù)據(jù)庫內(nèi)>>> q.save()# 默認情況,你會自動獲得一個自增的名為id的主鍵>>> q.id1# 通過python的屬性調(diào)用方式,訪問模型字段的值>>> q.question_text"What's new?">>> q.pub_datedatetime.datetime(2012, 2, 26, 13, 0, 0, 775217, tzinfo=<UTC>)# 通過修改屬性來修改字段的值,然后顯式的調(diào)用save方法進行保存。>>> q.question_text = "What's up?">>> q.save()# objects.all() 用于查詢數(shù)據(jù)庫內(nèi)的所有questions>>> Question.objects.all()<QuerySet [<Question: Question object>]>

這里等一下:上面的<Question: Question object>是一個不可讀的內(nèi)容展示,你無法從中獲得任何直觀的信息,為此我們需要一點小技巧,讓Django在打印對象時顯示一些我們指定的信息。返回polls/models.py文件,修改一下question和Choice這兩個類,代碼如下:

polls/models.py

from django.db import models from django.utils.encoding import python_2_unicode_compatible@python_2_unicode_compatible # 當你想支持python2版本的時候才需要這個裝飾器 class Question(models.Model):# ...def __str__(self): # 在python2版本中使用的是__unique__return self.question_text@python_2_unicode_compatible class Choice(models.Model):# ...def __str__(self):return self.choice_text

這個技巧不但對你打印對象時很有幫助,在你使用Django的admin站點時也同樣有幫助。

請注意,這些都是普通的Python方法。下面我們自定義一個方法,作為示范:

polls/models.py

import datetime from django.db import models from django.utils import timezoneclass Question(models.Model):# ...def was_published_recently(self):return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

請注意上面分別導入了兩個關(guān)于時間的模塊,一個是python內(nèi)置的datetime一個是Django工具包提供的timezone。

保存修改后,我們重新啟動一個新的python shell,再來看看其他的API:

>>> from polls.models import Question, Choice# 先看看__str__()的效果,直觀多了吧? >>> Question.objects.all() <QuerySet [<Question: What's up?>]># Django提供了大量的關(guān)鍵字參數(shù)查詢API >>> Question.objects.filter(id=1) <QuerySet [<Question: What's up?>]> >>> Question.objects.filter(question_text__startswith='What') <QuerySet [<Question: What's up?>]># 獲取今年發(fā)布的問卷 >>> from django.utils import timezone >>> current_year = timezone.now().year >>> Question.objects.get(pub_date__year=current_year) <Question: What's up?># 查詢一個不存在的ID,會彈出異常 >>> Question.objects.get(id=2) Traceback (most recent call last): ... DoesNotExist: Question matching query does not exist.# Django為主鍵查詢提供了一個縮寫:pk。下面的語句和Question.objects.get(id=1)效果一樣. >>> Question.objects.get(pk=1) <Question: What's up?># 看看我們自定義的方法用起來怎么樣 >>> q = Question.objects.get(pk=1) >>> q.was_published_recently() True# 讓我們試試主鍵查詢 >>> q = Question.objects.get(pk=1)# 顯示所有與q對象有關(guān)系的choice集合,目前是空的,還沒有任何關(guān)聯(lián)對象。 >>> q.choice_set.all() <QuerySet []># 創(chuàng)建3個choices. >>> q.choice_set.create(choice_text='Not much', votes=0) <Choice: Not much> >>> q.choice_set.create(choice_text='The sky', votes=0) <Choice: The sky> >>> c = q.choice_set.create(choice_text='Just hacking again', votes=0)# Choice對象可通過API訪問和他們關(guān)聯(lián)的Question對象 >>> c.question <Question: What's up?># 同樣的,Question對象也可通過API訪問關(guān)聯(lián)的Choice對象 >>> q.choice_set.all() <QuerySet [<Choice: Not much>, <Choice: The sky>, <Choice: Just hacking again>]> >>> q.choice_set.count() 3# API會自動進行連表操作,通過雙下劃線分割關(guān)系對象。連表操作可以無限多級,一層一層的連接。 # 下面是查詢所有的Choices,它所對應的Question的發(fā)布日期是今年。(重用了上面的current_year結(jié)果) >>> Choice.objects.filter(question__pub_date__year=current_year) <QuerySet [<Choice: Not much>, <Choice: The sky>, <Choice: Just hacking again>]># 使用delete方法刪除對象 >>> c = q.choice_set.filter(choice_text__startswith='Just hacking') >>> c.delete()

獲取更多關(guān)于模型關(guān)系的信息,請查看6.15.4章節(jié)。更多的數(shù)據(jù)庫API和如何使用雙下劃線進行查詢,請看3.2.2章節(jié)。

2.4.5 Django admin站點介紹

設計理念:為你的團隊或客戶編寫用于增加、修改和刪除內(nèi)容的admin站點是一件非常乏味的工作并且沒有多少創(chuàng)造性。因此,Django自動地為你通過模型構(gòu)造了一個admin站點。這個站點只給站點管理員使用,并不對大眾開放。

  • 創(chuàng)建管理員用戶

首先,通過下面的命令,創(chuàng)建一個可以登錄admin站點的用戶:
$ python manage.py createsuperuser
輸入用戶名:
Username: admin
輸入郵箱地址:
Email address: admin@example.com
輸入密碼:
Password: **********
Password (again): *********
Superuser created successfully.

注意:Django1.10版本后,超級用戶的密碼強制要求具備一定的復雜性,不能再偷懶了。

  • 啟動開發(fā)服務器

服務器啟動后,在瀏覽器訪問http://127.0.0.1:8000/admin/。你就能看到admin的登陸界面了:

  • 進入admin站點

利用剛才建立的admin賬戶,登陸站點,你將看到如下的界面:

當前已經(jīng)有兩個可編輯的內(nèi)容:groups和users。它們是django.contrib.auth模塊提供的身份認證框架。

  • 在admin中注冊你的投票應用

現(xiàn)在你還無法看到你的投票應用,必須先在admin中進行注冊,告訴admin站點,請將poll的模型加入站點內(nèi),接受站點的管理。

打開polls/admin.py文件,加入下面的內(nèi)容:

polls/admin.py

from django.contrib import admin from .models import Questionadmin.site.register(Question)
  • 瀏覽admin站點的功能

注冊question模型后,刷新admin頁面就能看到Question欄目了。

點擊“Questions”,進入questions的修改列表頁面。這個頁面會顯示所有的數(shù)據(jù)庫內(nèi)的questions對象,你可以在這里對它們進行修改??吹较旅娴摹癢hat’s up?”了么?它就是我們先前創(chuàng)建的一個question,并且通過__str__方法的幫助,顯示了較為直觀的信息,而不是一個冷冰冰的對象類型名稱。

下面,點擊What’s up?進入編輯界面:

這里需要注意的是:

  • 表單是由Question模型自動生成的
  • 不同的模型字段類型(DateTimeField, CharField)會表現(xiàn)為不同的HTML input框類型。
  • 每一個DateTimeField都會獲得一個JS縮寫。日期的縮寫是Today,并有一個日歷彈出框;時間的縮寫是Now,并有一個通用的時間輸入列表框。

在頁面的底部,則是一些可選項按鈕:

  • delete:彈出一個刪除確認頁面
  • save and add another:保存當前修改,并加載一個新的空白的當前類型對象的表單。
  • save and continue editing:保存當前修改,并重新加載該對象的編輯頁面。
  • save:保存修改,返回當前對象類型的列表頁面。

如果“Date published”字段的值和你在前面教程創(chuàng)建它的時候不一致,可能是你沒有正確的配置TIME_ZONE,在國內(nèi),通常是8個小時的時間差別。修改TIME_ZONE配置并重新加載頁面,就能顯示正確的時間了。

在頁面的右上角,點擊“History”按鈕,你會看到你對當前對象的所有修改操作都在這里有記錄,包括修改時間和操作人,如下圖所示:

到此,你對模型API和admin站點有了一定的熟悉,可以進入下一階段的教程了。

覺得還行就點贊支持一下吧!

轉(zhuǎn)載于:https://www.cnblogs.com/feixuelove1009/p/5910384.html

總結(jié)

以上是生活随笔為你收集整理的“全能”选手—Django 1.10文档中文版Part1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

亚洲欧美精品在线 | av经典在线| 日韩精品电影在线播放 | 五月婷婷黄色 | 国产精品久久久久久久久岛 | 欧美性大战 | 一级做a视频 | 一区二区三区久久精品 | 奇米影视8888在线观看大全免费 | 亚洲精品国产欧美在线观看 | 韩国av电影在线观看 | 国产免费观看高清完整版 | 黄色亚洲免费 | 五月天亚洲综合小说网 | 日本精品视频免费观看 | 国产一区二区高清不卡 | 一区二区三区在线影院 | 欧美日韩xxxxx | 亚洲国产精品一区二区久久,亚洲午夜 | 日本99久久 | 亚洲人人网 | 免费看污片| 毛片1000部免费看 | 欧美性生活小视频 | 蜜桃视频色 | 欧美色图另类 | 在线精品视频免费观看 | 91探花系列在线播放 | 日日综合 | 超碰公开在线观看 | 天堂av网址| 91爱爱中文字幕 | 国产成人99久久亚洲综合精品 | 国产黄色片免费观看 | 最新av网址大全 | 免费欧美精品 | 毛片一二区| 狠狠插狠狠操 | 97人人模人人爽人人喊中文字 | 青草视频免费观看 | 精品国产_亚洲人成在线 | 久草网在线观看 | 97色婷婷成人综合在线观看 | 亚洲国产成人精品在线 | 69国产盗摄一区二区三区五区 | 干狠狠 | 久久久久女教师免费一区 | 91最新视频| 在线观看亚洲免费视频 | zzijzzij亚洲日本少妇熟睡 | 国产精品一区久久久久 | 国产黄免费在线观看 | 黄av在线| 国产破处视频在线播放 | 国产999精品久久久久久麻豆 | 日日弄天天弄美女bbbb | 青草视频在线 | 免费看短 | 亚洲区精品视频 | 日本在线视频网址 | 色com| 日韩精品免费一区二区 | 久久久午夜精品理论片中文字幕 | 在线观看久久久久久 | 免费看黄的 | 亚洲 综合 精品 | 成人羞羞视频在线观看免费 | 国产精品区在线观看 | 中文字幕免费一区二区 | 日韩专区中文字幕 | 国产一区二区在线观看视频 | a在线观看免费视频 | 久久情网| 在线看中文字幕 | 日韩中文字幕免费视频 | 亚洲欧美成人综合 | 国产亚洲va综合人人澡精品 | 免费的国产精品 | 久久综合国产伦精品免费 | 久久精品一二三区 | 日韩一区二区免费在线观看 | 欧美日产在线观看 | 4p变态网欧美系列 | 国产亚洲精品久久久久久网站 | 久久精品久久精品久久 | 亚洲女人av | 激情五月亚洲 | 久久特级毛片 | 国产精品久久久久影院 | 国产精品成人一区二区三区吃奶 | 婷婷六月天丁香 | 91精品国产三级a在线观看 | 亚洲综合一区二区精品导航 | 欧美激情视频一区二区三区免费 | 中文av网站 | 字幕网资源站中文字幕 | 一区免费观看 | 久久久首页 | 国产精品毛片一区二区在线看 | 狠狠操天天射 | 91社区国产高清 | 国产99久久久国产精品免费二区 | 国产成人精品一区一区一区 | 天天色天天操天天爽 | 精品亚洲男同gayvideo网站 | 91九色成人 | 又色又爽又黄高潮的免费视频 | 九九热精品国产 | 激情五月在线视频 | 国产精品免费小视频 | 午夜av一区| 美女在线免费观看视频 | 国产生活一级片 | 国产一区二区精 | 亚洲黄色软件 | 天天干天天草 | 天天爽天天摸 | av在观看| 81精品国产乱码久久久久久 | 国内精品视频在线播放 | av福利第一导航 | 一区二区在线影院 | 免费看特级毛片 | 99久久精| 丁香六月婷婷激情 | 欧美一二三视频 | 国产精品字幕 | 99在线视频观看 | 日韩中文字幕第一页 | 国产成在线观看免费视频 | 91人人爽人人爽人人精88v | 国产专区精品 | 亚洲综合爱 | 中文字幕不卡在线88 | 一区二区不卡高清 | 日本中文字幕在线 | 99超碰在线播放 | 91亚色视频| 91视频久久久久 | 激情五月婷婷激情 | 99色在线| 在线观看av网站 | 在线观看视频中文字幕 | 亚洲精品ww | 国产精品免费av | 日韩一区二区久久 | 国产一卡在线 | 亚洲黄色在线免费观看 | 久久伊人八月婷婷综合激情 | 国产白浆在线观看 | 免费观看一区二区三区视频 | 亚洲精品大全 | 国产精品久久久久久久久久久久冷 | 久草在线久草在线2 | 国产99久久精品一区二区永久免费 | 中文字幕乱码一区二区 | 99视频+国产日韩欧美 | 精品视频www | 久久国产精品偷 | 美国av大片| 国产精品久久久久永久免费 | 手机成人av | 日韩毛片在线一区二区毛片 | 亚洲视频在线视频 | 国产高清视频免费 | 日狠狠| 亚洲国产欧洲综合997久久, | 精品亚洲欧美无人区乱码 | 国产亚洲精品女人久久久久久 | 黄色软件在线观看视频 | 久久久久国产精品www | 国产精品96久久久久久吹潮 | 新版资源中文在线观看 | 国产一区国产二区在线观看 | 激情网五月 | 久久精品国产成人 | 在线观看视频在线观看 | 久久人人97超碰com | 久草免费资源 | 亚洲h色精品 | 狠狠色伊人亚洲综合成人 | 日韩精选在线 | 最新日韩视频在线观看 | 亚州av免费 | 日本久久成人中文字幕电影 | 激情网站免费观看 | 日韩av在线免费播放 | 日本黄区免费视频观看 | 亚洲成人精品久久久 | 91香蕉嫩草 | 在线看片91 | 久久综合久久综合这里只有精品 | 综合久久久久久久 | 国产精品一区二区三区在线播放 | 免费看的黄网站软件 | 久色网 | 国产亚洲精品久久久久久无几年桃 | 最新中文字幕在线观看视频 | 最近日本mv字幕免费观看 | 久久免费成人精品视频 | 亚洲精品在线观 | 中文字幕中文字幕中文字幕 | 中文字幕日韩精品有码视频 | 国产午夜精品久久 | 手机看国产毛片 | www.香蕉| 久久亚洲国产精品 | 青青河边草免费视频 | 男女拍拍免费视频 | av短片在线| 女人18毛片a级毛片一区二区 | 亚洲成人av片 | 久久国产网 | 免费观看av| 国产高清日韩 | 91久久久久久国产精品 | 亚洲夜夜综合 | 欧美一区二区三区免费观看 | 日韩免费电影一区二区三区 | 天天躁天天狠天天透 | 91 在线视频播放 | 97国产超碰| 国产精品理论片在线观看 | 免费看国产曰批40分钟 | 97人人澡人人添人人爽超碰 | 丁香六月天 | av成人免费在线看 | 国产精品久久久久久一区二区 | 99久在线精品99re8热视频 | www.日日日.com | 久久久国产精品人人片99精片欧美一 | www.国产毛片 | 国产日韩精品在线观看 | 亚洲第一久久久 | 久日精品 | 中文字幕色婷婷在线视频 | 国产成人精品电影久久久 | 成人a级网站 | 久草在线综合网 | 国产热re99久久6国产精品 | 久久99国产精品久久 | 亚洲三级视频 | av线上免费看 | 中文 一区二区 | 三级av免费 | a天堂一码二码专区 | 国产精品久久久久高潮 | 国产又黄又爽无遮挡 | www.夜夜操.com| 精品999在线 | 久久视频在线观看中文字幕 | 国产男女无遮挡猛进猛出在线观看 | 精品亚洲一区二区三区 | 久操操| 国产xvideos免费视频播放 | 色天天综合久久久久综合片 | 久久精品系列 | 国产精品入口传媒 | 天天色成人网 | 97视频在线免费播放 | 亚洲午夜精品福利 | 国产一区二区电影在线观看 | 这里只有精品视频在线观看 | 亚洲精品久久久久www | 激情电影影院 | 夜夜看av| 欧美日韩免费视频 | 国产日韩欧美在线看 | 欧美日韩二区三区 | 色婷婷婷 | 国产精品久久毛片 | 亚州成人av在线 | 在线影院中文字幕 | 园产精品久久久久久久7电影 | 色五月情 | 成人av高清在线 | 天天躁日日躁狠狠躁av中文 | 国产精品破处视频 | 深爱激情丁香 | 精品视频久久 | 四虎永久免费在线观看 | 黄色在线观看免费网站 | 日韩欧美在线国产 | 国产视频在线观看一区二区 | 麻豆视频国产在线观看 | 九九热1| 久久久国产精品视频 | 在线色亚洲 | 亚洲最大av网 | 国产精品你懂的在线观看 | 一区中文字幕在线观看 | 成人av教育 | 欧美在线a视频 | 成人黄色在线观看视频 | 国产 色 | 欧美日韩在线免费观看视频 | zzijzzij亚洲成熟少妇 | 国产日本高清 | 国产一区播放 | 九九免费观看全部免费视频 | 日韩a在线观看 | 超碰国产在线播放 | 蜜桃视频成人在线观看 | 日本精品久久久久 | 狠狠色丁香婷婷综合橹88 | 蜜臀久久99精品久久久无需会员 | 亚洲专区在线播放 | 在线免费av播放 | 99 精品 在线 | 依人成人综合网 | 狠狠gao | 亚洲欧洲视频 | 亚州av网站| 久久久首页 | 超碰在线人人艹 | 91丨九色丨蝌蚪丨老版 | 国产高清无线码2021 | 亚洲成人av片在线观看 | 国产亚洲精品久久久久久电影 | 九九导航 | 欧美精品做受xxx性少妇 | 又黄又爽又色无遮挡免费 | 午夜精品一区二区三区在线播放 | 免费观看91 | 国产一级不卡毛片 | 国产精品乱码久久久久久1区2区 | 久久精品99国产国产 | 777视频在线观看 | 综合网色| 亚洲一区精品二人人爽久久 | 久久久官网 | 国产精品高潮呻吟久久av无 | 精品国产诱惑 | 狠狠躁18三区二区一区ai明星 | 高清日韩一区二区 | 久久激五月天综合精品 | 在线免费观看一区二区三区 | 久久久久免费精品视频 | 婷婷丁香激情综合 | 国产不卡av在线 | 国产理论影院 | 免费看的黄色小视频 | 国产精品福利无圣光在线一区 | 亚洲涩涩一区 | 日本久久久精品视频 | 午夜精品久久久久99热app | 麻豆影视在线观看 | 亚洲欧美日韩一区二区三区在线观看 | 国产在线精品播放 | 亚洲尺码电影av久久 | 国精产品一二三线999 | 欧美成年网站 | 国产精品av在线免费观看 | 亚洲精品播放 | 99免费在线播放99久久免费 | 在线免费色 | 99re中文字幕| 天天色天天爱天天射综合 | 久久精品一二三 | 中国一级片在线观看 | 中文字幕一区二区三区精华液 | 四虎永久国产精品 | 中文字幕黄网 | 欧美日韩国产xxx | 天天婷婷| 99精品欧美一区二区三区 | 五月激情综合婷婷 | 国产精品av久久久久久无 | 黄色com| 91在线麻豆 | 日韩av免费一区 | 日韩有码欧美 | 欧美a级在线播放 | 日韩在线 一区二区 | 91在线视频导航 | 国产精品18videosex性欧美 | 亚洲丁香久久久 | 亚洲 欧美 变态 国产 另类 | 国产成人福利在线 | 中文字幕免费观看全部电影 | 亚洲伊人成综合网 | 日本成人中文字幕在线观看 | 国产高清免费 | 在线色视频小说 | 午夜免费福利片 | 日本精品久久久久 | 久久亚洲电影 | 日日干美女 | 色永久免费视频 | www.在线观看视频 | 婷婷色在线 | 成人黄色小说视频 | 97偷拍视频 | 日韩av在线高清 | 在线观看免费黄色 | 日韩精品免费一区二区三区 | 狠狠色狠狠色 | 免费av电影网站 | 天天摸日日操 | 精品欧美一区二区精品久久 | 粉嫩av一区二区三区四区五区 | 久久爱导航 | 香蕉在线影院 | 国产免费片| 国产视| www.xxxx欧美 | 亚洲永久字幕 | 国产精品福利久久久 | 久久免费视频在线观看 | 国产成人精品日本亚洲999 | 97视频免费在线观看 | 中文字幕av免费在线观看 | 91成人欧美 | 国产国产人免费人成免费视频 | 国产一级视频在线观看 | 久久99精品热在线观看 | 午夜视频播放 | 久草.com| 亚洲国产影院av久久久久 | 婷婷丁香国产 | av一级在线 | 精品国产自在精品国产精野外直播 | 免费观看高清 | 欧美精品久久天天躁 | 日韩欧美在线综合网 | 美女在线免费视频 | 久久久久久久亚洲精品 | 成年人黄色在线观看 | 最新av网址在线 | 国产精品99免视看9 国产精品毛片一区视频 | 久草视频国产 | 91丨九色丨国产在线观看 | 91看片网址 | 久久国语露脸国产精品电影 | 天天色天天干天天色 | 成人av网站在线播放 | 五月婷婷综合在线观看 | 婷婷四房综合激情五月 | 国产精品18久久久久vr手机版特色 | 国内精品久久久久久久97牛牛 | 久久神马影院 | 免费午夜视频在线观看 | 91精品国产福利 | 91精品国产91久久久久 | 国产黄色精品视频 | 久久免费视频在线 | 2020天天干天天操 | 日韩av黄| 国产淫a| 国产电影黄色av | 日本爱爱片 | 99国内精品 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 国产精品久久久区三区天天噜 | 蜜臀av麻豆| 亚洲人久久久 | 婷婷六月丁 | 成人黄色小说在线观看 | 欧美一区二区三区在线视频观看 | 91人人澡 | 国产自产在线视频 | 日本黄色大片免费 | 在线观看91av | 伊人亚洲综合 | 免费观看的av网站 | 国产精品一区二区久久 | 免费开视频 | 一区二区精 | a久久久久久 | 国产在线高清 | 婷婷激情小说网 | 欧美乱码精品一区二区 | 午夜精品一二区 | 夜夜夜精品 | 久在线观看视频 | 视频99爱 | 亚洲最大成人免费网站 | 欧美精品久久久久性色 | 精品视频资源站 | 国产一性一爱一乱一交 | 日韩免费在线视频观看 | 日日夜夜天天久久 | 在线导航福利 | 久久视频6| 婷婷四房综合激情五月 | 日韩精品在线免费观看 | 麻豆视频在线免费 | 美女网站视频一区 | 在线亚洲欧美视频 | 久久久久久久久久久久电影 | 日韩在线网址 | 激情片av| av片在线观看免费 | 91重口视频 | 亚洲国产成人精品电影在线观看 | 天天综合网久久 | 97狠狠操 | 亚洲欧美激情插 | 青草草在线视频 | 91免费高清观看 | 97视频免费观看2区 亚洲视屏 | 欧美性免费 | 伊人影院av | 九七视频在线 | 亚洲综合狠狠干 | 综合亚洲视频 | 日本精品在线看 | 欧美日韩免费观看一区二区三区 | 热久久这里只有精品 | 在线观看国产区 | www.在线观看视频 | 综合精品在线 | 国产中文字幕国产 | 超碰资源在线 | 久久久久久高潮国产精品视 | 99视频精品免费观看, | 久草在线视频免费资源观看 | 国产精品99视频 | 国产精品久久久久久久久搜平片 | 国产精品乱码久久久久久1区2区 | 欧美男男激情videos | 国产精品高清一区二区三区 | 成人久久久久久久久久 | 99久热在线精品视频成人一区 | 免费观看不卡av | aaa黄色毛片 | 欧美成人在线网站 | 日韩精品高清视频 | 91精品久久久久久久久久入口 | 日韩精品高清不卡 | 18女毛片 | 色在线最新 | 99精品视频在线播放观看 | 国产探花在线看 | 欧美在线18| 日日夜夜狠狠操 | 丁香av | 青草草在线视频 | 国产成人1区 | 麻豆91在线 | 亚洲精品成人av在线 | 日韩黄色av网站 | av一级二级 | 首页国产精品 | 久久69精品 | 国产成人三级在线播放 | 亚洲成人免费在线 | 久久这里只有精品首页 | 激情综合网五月激情 | 久久精品亚洲精品国产欧美 | 国产午夜麻豆影院在线观看 | 爱色av.com | 久久人人爽人人爽 | 国产精品区免费视频 | 国产精品久久久久免费 | 成人9ⅰ免费影视网站 | 中文字幕欲求不满 | 久久不卡av| 国产日韩在线视频 | 中文字幕资源网在线观看 | 久久精品视频3 | 国产精品99久久久久久大便 | 天天操天天射天天爱 | 国产成人综合在线观看 | 免费成人黄色av | 三级黄色网络 | 97在线观看免费观看 | 亚洲精品字幕在线观看 | 日韩视频免费播放 | 99av国产精品欲麻豆 | 91片网| 久久精品这里都是精品 | 96视频在线 | 欧美日韩高清 | 亚洲撸撸 | 肉色欧美久久久久久久免费看 | 91丨九色丨高潮丰满 | 黄网在线免费观看 | 免费看污污视频的网站 | 免费观看第二部31集 | 精品99免费 | 国产精品久久久久久久久久99 | 久久国产精品成人免费浪潮 | 香蕉视频导航 | 国产玖玖精品视频 | 日韩av在线高清 | 人人看人人做人人澡 | 天天操天天操 | 夜夜天天干 | av在线网站免费观看 | 日韩精品久久久久 | 毛片随便看 | 久久综合电影 | 亚洲免费不卡 | 又黄又刺激又爽的视频 | 99精品国产一区二区三区麻豆 | 九九九电影免费看 | 国产资源网 | 亚洲欧美怡红院 | 精品电影一区二区 | 精品久久久成人 | 国产亚洲精品久久19p | 91精品综合在线观看 | 欧美成人手机版 | 99色免费视频 | 热久久国产 | 在线精品视频免费观看 | 久久999精品 | 国产97超碰| 色视频网站在线 | 亚洲精品在线视频网站 | 香蕉日日 | 特黄一级毛片 | 人人爽人人片 | 亚洲精品日韩一区二区电影 | 91av视频免费在线观看 | 日韩av免费观看网站 | 久久国产美女视频 | 亚洲午夜小视频 | 国产一级久久久 | 婷香五月 | 国产高清综合 | 中文字幕超清在线免费 | 中文字幕在线观看完整版电影 | free. 性欧美.com | 久久久久久久久久久网站 | 国产精品12345 | 久久av福利 | 91精品国产九九九久久久亚洲 | www免费网站在线观看 | 麻豆国产视频 | 亚洲精品国产精品国 | 六月激情网 | 国产在线中文 | 欧美a级片免费看 | 欧美精品少妇xxxxx喷水 | 97人人爽人人 | 免费a级黄色毛片 | 国产丝袜在线 | 国产免费视频在线 | 2022中文字幕在线观看 | 久久久www成人免费精品张筱雨 | av网站手机在线观看 | 人人插人人玩 | 日韩成人免费观看 | 日韩手机在线 | 久久夜av | 九九免费精品 | 91福利影院在线观看 | 欧美性大战久久久久 | 在线观看中文字幕 | 91日韩免费 | 色小说av | 婷婷在线免费视频 | 久久成人免费视频 | 欧美亚洲一级片 | 在线视频观看你懂的 | 999久久久免费精品国产 | 亚洲人久久 | 99精品国产福利在线观看免费 | 在线观看视频一区二区三区 | 精品国产一二区 | 国产第一福利网 | 亚洲视频www| 丁香婷婷综合激情 | 日韩精品在线看 | 一区二区高清在线 | 天天摸日日摸人人看 | 国产免费作爱视频 | 经典三级一区 | 成年人网站免费观看 | 日本巨乳在线 | 亚洲精品免费在线视频 | 91爱在线| 国产黄色大片 | 激情综合交 | 在线免费观看羞羞视频 | 九草在线观看 | 人人网av | 久久久久免费看 | 91视频在线免费看 | 国产一区成人在线 | 碰天天操天天 | 91人人网| 欧美精品少妇xxxxx喷水 | 天天天色| 午夜视频免费 | 五月婷婷六月丁香在线观看 | 男女拍拍免费视频 | 欧美色就是色 | 久久影院一区 | 成人午夜电影在线 | 伊人天堂久久 | 91亚洲精品久久久蜜桃 | 天天爽天天爽天天爽 | 久草精品免费 | 欧美另类高清 | 欧美成人精品欧美一级乱 | 久久99久久精品 | 日韩成人在线一区二区 | 97色在线 | 日韩在线不卡视频 | 午夜av在线电影 | 国产99区| 国产精品久久久久四虎 | 亚洲一区二区高潮无套美女 | 国产精品久久久久久久7电影 | 激情综合国产 | 日韩,中文字幕 | 国产精品一区二区久久久久 | 九九视频免费在线观看 | 亚洲丁香久久久 | 最近最新中文字幕 | 国产精品一区二区三区久久久 | 热久久视久久精品18亚洲精品 | 97品白浆高清久久久久久 | 在线免费观看的av网站 | 日韩试看 | 成人午夜免费剧场 | 久久性生活片 | 99精品区| 91av在线免费播放 | 欧美日韩在线视频一区二区 | 国产三级精品在线 | 正在播放 久久 | 精品在线观看免费 | 国产一级片观看 | 日韩欧美在线高清 | 美女网站免费福利视频 | 久久久影片 | 成年人黄色免费网站 | 国产淫a | av资源在线看 | a成人在线| 天天躁天天操 | 成人av网站在线播放 | 亚洲精品高清视频在线观看 | 久久久夜色| 久久久精品在线观看 | 欧美男同网站 | 色久av| 免费欧美高清视频 | 在线观看av麻豆 | 久久伊99综合婷婷久久伊 | 婷婷福利影院 | 国产18精品乱码免费看 | 深夜免费福利在线 | 日日草夜夜操 | 中文字幕丝袜一区二区 | 美女网站在线看 | 亚一亚二国产专区 | 亚洲女同videos | 中文字幕91视频 | 99亚洲精品视频 | av电影免费 | 欧美日韩久久不卡 | 亚洲视频在线看 | 91视频在线免费 | 91麻豆精品国产自产 | 国产精品精 | 97成人资源站 | 色婷婷视频在线观看 | 精品久久久久久一区二区里番 | 91资源在线免费观看 | 色婷婷狠狠五月综合天色拍 | 激情影院在线 | 中文字幕在线第一页 | 99精品欧美一区二区蜜桃免费 | 黄网站免费看 | 五月天久久精品 | 日本福利视频在线 | 久久久久久黄色 | 国产精品久久久久999 | 又黄又刺激视频 | 中文字幕日韩无 | 人人爽久久久噜噜噜电影 | 久久精品中文字幕一区二区三区 | 国产精品久久久久久久久久久久午夜片 | 成人欧美日韩国产 | 久久国产精品免费观看 | 成人av片在线观看 | 亚洲免费一级电影 | 日韩免费视频播放 | 伊人www22综合色 | 国产麻豆视频免费观看 | 亚洲高清资源 | 日韩在线电影一区 | 成人全视频免费观看在线看 | 久久国产福利 | 中文十次啦 | 国产黄色大片免费看 | 婷婷伊人五月 | 人人澡人人爱 | 日本黄色免费网站 | 国产大尺度视频 | 国产视频高清 | www黄| 五月宗合网| 久久久福利影院 | www.夜夜| 五月婷婷播播 | 中文字幕精品www乱入免费视频 | 91一区在线观看 | 欧美性成人 | 亚洲三级性片 | 日操操 | 国产精品电影在线 | 怡红院久久 | 午夜久久影视 | 国产精品成人一区二区三区吃奶 | 亚洲精品国产综合久久 | 久久亚洲国产精品 | 中文字幕在线网址 | 97在线影院 | 国产免费观看久久 | 天天操天天能 | 日韩av进入 | 在线欧美中文字幕 | 中文字幕激情 | 香蕉国产91 | 99久久www| 91中文视频| 天天天干天天天操 | av看片网址 | 九九久久国产精品 | 亚洲综合一区二区精品导航 | 在线观看日韩国产 | 手机在线看片日韩 | 国产精品久久久久久久免费观看 | 国产成人精品久久久久 | 国产精品精| 成人免费av电影 | 狠狠久久伊人 | 精品国产大片 | 91人人干| 96精品高清视频在线观看软件特色 | 日韩高清三区 | 在线看岛国av | 又色又爽又黄 | 成人午夜电影在线播放 | av中文字幕不卡 | 日韩视频一区二区在线 | 欧美日韩在线播放一区 | 色偷偷人人澡久久超碰69 | a v在线视频 | 国产精品18久久久久久首页狼 | 国产日韩欧美精品在线观看 | 久久久免费播放 | 国产黄网站在线观看 | 久久综合九色综合久久久精品综合 | 日日爽日日操 | 久久久久免费视频 | 久久免费视频网站 | 亚洲91网站 | 久久免费视频8 | 精品美女久久久久久免费 | 国产日韩欧美在线看 | 日韩在线观看高清 | 久久久伊人网 | 国产福利不卡视频 | 91成人免费 | 日韩电影一区二区三区 | 91免费看片黄 | 激情影音先锋 | 一 级 黄 色 片免费看的 | 国产精品成人aaaaa网站 | 中文字幕视频免费观看 | 久久久www成人免费毛片麻豆 | 亚洲精品在线视频 | 91看片在线观看 | 337p日本大胆噜噜噜噜 | 国产精品99久久免费黑人 | 国产精品一区二区av麻豆 | 精品国偷自产在线 | 444av| 开心婷婷色 | 在线亚洲天堂网 | 久久96 | 狠狠狠色丁香综合久久天下网 | 国产黄色免费 | 国产午夜精品理论片在线 | 亚洲精色| 欧美伦理电影一区二区 | av成人免费| 成人免费在线视频观看 | 国产网红在线 | 中国黄色一级大片 | 免费日韩 精品中文字幕视频在线 | 日韩电影一区二区三区 | 草久视频在线 | 国产黄色成人 | 日韩 在线| 中文字幕综合在线 | 狠狠88综合久久久久综合网 | 三上悠亚一区二区在线观看 | 久久午夜影视 | 亚洲精品在线电影 | 91视频在线播放视频 | 亚洲国产一区在线观看 | 精品久久久久久久久久久久 | 久久成视频 | 久久天堂网站 | 久久综合精品一区 | 亚洲精品免费在线视频 | 国产精品专区一 | 免费三级网| 日韩高清一区在线 | 婷婷久久亚洲 | 久久影视一区 | 一级久久精品 | 久久精品亚洲一区二区三区观看模式 | 男女激情麻豆 | av免费看av | 亚洲毛片视频 | 国产精品免费观看在线 | 99中文在线| 久草在线一免费新视频 | 中文字幕在线观看2018 | 天天操天天色天天 | 成人在线一区二区三区 | av免费在线看网站 | 国产精品三级视频 | 国产999精品视频 | 韩国av电影在线观看 | 亚洲精品9 | 一区二区精品在线视频 | 国产黄色精品网站 | 欧美精品一区二区三区一线天视频 | 六月丁香婷 | 五月激情亚洲 | 欧美在线视频一区二区三区 | 综合色中色 | 亚洲视频一 | 久久人人爽人人爽 | 最近最新中文字幕视频 | 91天天操| 久久在线观看视频 | 国产精品18毛片一区二区 | 久久一本综合 | 国产第一页在线播放 | 亚洲一区二区视频在线播放 | 在线看日韩av | 天天做天天爱天天综合网 | 99成人在线视频 | 国内精品久久久久影院日本资源 | 色中色综合 | 免费看国产精品 | 中文字幕一区二区三区四区视频 | 在线久热 | 久草影视在线 | 六月丁香激情网 | 久久久久夜色 | 一区二区三区中文字幕在线 | 黄色大片av | 激情网站免费观看 | 免费在线观看一区二区三区 | 国产精品久久久久久一区二区 | 在线国产小视频 | 狠狠久久伊人 | 亚洲美女精品 | 黄a网站 | 亚洲视频www | 亚洲 欧洲av | 91传媒在线 | v片在线播放 | 日韩成人高清在线 | 综合在线观看色 | 91精品小视频 | 久久激情五月丁香伊人 | 久久影视中文字幕 | 久久激情视频免费观看 | 91在线www| 中文字幕亚洲高清 | 欧美另类高清 | 国产一区二区三区在线免费观看 | 成人午夜性影院 | 欧美韩国日本在线 | 91chinese在线| 国产精品免费看久久久8精臀av | 亚洲综合在线发布 | 国产精品99在线播放 | 亚洲欧美日韩国产一区二区三区 | 成年人免费观看国产 | 日韩欧美一区二区三区在线 | 99在线观看免费视频精品观看 | 麻豆av一区二区三区在线观看 | 亚洲综合爱 | 天天操狠狠操夜夜操 | 91视频国产高清 | 中文字幕免费在线 | 国产日韩欧美在线观看视频 | 黄色一级大片免费看 | 午夜视频一区二区三区 | 在线有码中文字幕 | 免费黄色在线网站 | 国产精品99久久久久久人免费 | 天天躁天天操 | 亚洲精品免费在线观看 |