成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > 手把手教你使用Django + Vue.js 快速構(gòu)建項(xiàng)目

手把手教你使用Django + Vue.js 快速構(gòu)建項(xiàng)目

熱門標(biāo)簽:ai電銷機(jī)器人源碼 長沙高頻外呼系統(tǒng)原理是什么 外呼并發(fā)線路 宿遷星美防封電銷卡 百度地圖標(biāo)注沒有了 湛江智能外呼系統(tǒng)廠家 地圖標(biāo)注審核表 西藏房產(chǎn)智能外呼系統(tǒng)要多少錢 ai電話機(jī)器人哪里好

1. 前言

本篇將基于Django + Vue.js,手把手教大家快速的實(shí)現(xiàn)一個(gè)前后端分離的Web項(xiàng)目。

2. 環(huán)境準(zhǔn)備

  1.  Python 3.6.1
  2. Mysql 5.7.23
  3. Pycharm (專業(yè)版)
  4. Node

3. 創(chuàng)建 Django 項(xiàng)目

創(chuàng)建完成后,目錄結(jié)構(gòu)如下所示


使用 Navicat 工具創(chuàng)建數(shù)據(jù)庫 DjangoVue


安裝 mysqlclient 庫


配置 settings.py 文件,配置 Mysql 數(shù)據(jù)庫引擎

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'DjangoVue',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': '127.0.0.1',
    }
}

執(zhí)行同步操作,將數(shù)據(jù)遷移到 Mysql


啟動(dòng) Django Server ,驗(yàn)證默認(rèn)配置是否正常

python manage.py runserver 0.0.0.0:8000


打開瀏覽器,訪問 http://localhost:8000


創(chuàng)建一個(gè) app 作為項(xiàng)目后端

python manage.py startapp backend

創(chuàng)建完成后,目錄結(jié)構(gòu)如下所示

把 backend 加入到 settings.py 文件中的 INSTALLED_APPS 列表里

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'backend'
]

在 backend/models.py 里寫一個(gè)簡(jiǎn)單 model 如下

from django.db import models

# Create your models here.


class Book(models.Model):
	# 如果沒有指定主鍵的話Django會(huì)自動(dòng)新增一個(gè)自增id作為主鍵
    bookName = models.CharField(max_length=128, verbose_name='書名')
    createTime = models.DateTimeField(auto_now_add=True, verbose_name='創(chuàng)建時(shí)間')

    def __unicode__(self):
        return self.bookName

    def __str__(self):
        return self.bookName

根據(jù)修改創(chuàng)建遷移文件,并應(yīng)用這些修改到數(shù)據(jù)庫中

# 創(chuàng)建遷移文件
python manage.py makemigrations
# 應(yīng)用修改到數(shù)據(jù)庫
python manage.py migrate


Django 生成的表名將以 app 名加上 model 中的類名組合而成,也可以自定義表名,如下

from django.db import models

# Create your models here.


class Book(models.Model):
    bookName = models.CharField(max_length=128, verbose_name='書名')
    createTime = models.DateTimeField(auto_now_add=True, verbose_name='創(chuàng)建時(shí)間')

    def __unicode__(self):
        return self.bookName

    def __str__(self):
        return self.bookName

    class Meta:
        db_table = 'backend_book'

在 backend/views 里我們新增兩個(gè)接口,一個(gè)返回所有的書籍列表,一個(gè)往數(shù)據(jù)庫里添加一條book數(shù)據(jù)。

import json

from django.core import serializers
from django.http import JsonResponse
from django.shortcuts import render
from django.views.decorators.http import require_http_methods

from backend.models import Book


@require_http_methods(["GET"])
def add_book(request):
    response = {}
    try:
        book_name = request.GET.get('book_name')
        book = Book(bookName=book_name)
        book.save()
        response['respMsg'] = 'success'
        response['respCode'] = '000000'
    except Exception as e:
        response['respMsg'] = str(e)
        response['respCode'] = '999999'
    return JsonResponse(response)


@require_http_methods(["GET"])
def show_books(request):
    response = {}
    try:
        books = Book.objects.filter()
        response['list'] = json.loads(serializers.serialize("json", books))
        response['respMsg'] = 'success'
        response['respCode'] = '000000'
    except Exception as e:
        response['respMsg'] = str(e)
        response['respCode'] = '999999'
    return JsonResponse(response)

在 backend 目錄下,新增一個(gè) urls.py 文件,把我們新增的兩個(gè)接口添加到路由里

# -*- coding: utf-8 -*-
"""
-------------------------------------------------
   File Name :     urls.py
   Description :    
   Author :         FHQI
   date :          2021-08-19
-------------------------------------------------
"""
from django.conf.urls import url

from backend.views import add_book, show_books

urlpatterns = [
    url("add_book", add_book, ),
    url("show_books", show_books, ),
]

最后要把backend 下的 urls 添加到項(xiàng)目 djangoVue 下的 urls 中,才算完成路由

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('backend.urls')),
]

重新啟動(dòng)服務(wù),測(cè)試一下剛才寫的兩個(gè)接口

python manage.py runserver 0.0.0.0:8000


4. 創(chuàng)建 Vue.js 前端項(xiàng)目

使用 node 自帶的 npm 包管理器安裝 vue 和相關(guān)模塊。推薦使用淘寶的 cnpm 命令行工具代替默認(rèn)的 npm。

npm install -g cnpm --registry=https://registry.npm.taobao.org

安裝 vue.js

cnpm install -g vue

安裝vue-cli腳手架工具(vue-cli是官方腳手架工具,能迅速幫你搭建起vue項(xiàng)目的框架)

cnpm install -g vue-cli

在 djangoVue 項(xiàng)目根目錄下,新建一個(gè)前端工程目錄

vue-init webpack frontend

在創(chuàng)建項(xiàng)目的過程中會(huì)彈出一些與項(xiàng)目相關(guān)的選項(xiàng)需要回答,按照真實(shí)情況進(jìn)行輸入即可,如下:

Project name(工程名):回車
Project description(工程介紹):回車
Author:作者名 :回車
Vue build ==> (是否安裝編譯器)runtime-compiler、 runtime-only 都是打包方式,第二個(gè)效率更高;
Install vue-router ==> 是否要安裝 vue-router,項(xiàng)目中肯定要使用到路由,所以Y 回車;
Use ESLint to lint your code ==> 是否需要ESLint檢測(cè)代碼,目前我們不需要所以 n 回車;
Set up unit tests ==> 是否安裝 單元測(cè)試工具 目前我們不需要 所以 n 回車;
Setup e2e tests with Nightwatch ==>是否需要端到端測(cè)試工具目前我們不需要所以n回車;
Should we run npm install for you after the project has been created? (recommended) (Use arrow keys)==> 安裝依賴npm install
回車;


安裝 vue 依賴模塊

cd frontend
cnpm install
cnpm install vue-resource
cnpm install element-ui

現(xiàn)在整個(gè)文件目錄結(jié)構(gòu)如下


在 frontend 目錄 src 下包含入口文件 main.js,入口組件 App.vue 等。后綴為 vue 的是 Vue.js 框架定義的單文件組件,一個(gè)文件包含且僅包含三塊內(nèi)容,如下:

1. template>/template > 前端渲染的模板
2. 專為此模板寫渲染邏輯的 script>/script>
3. 專為此模板寫樣式的 style>/style>

在 src/components 文件夾下新建一個(gè)名為 Home.vue 的組件,通過調(diào)用之前在 Django 上寫好的 api,實(shí)現(xiàn)添加書籍和展示書籍信息的功能。在樣式組件上我們使用了餓了么團(tuán)隊(duì)推出的 element-ui,這是一套專門匹配 Vue.js 框架的功能樣式組件。由于組件的編碼涉及到了很多 js、html、css 的知識(shí),并不是本文的重點(diǎn),因此在此只貼出部分代碼。

template>
div class="home">
el-row display="margin-top:10px">
el-input v-model="input" placeholder="請(qǐng)輸入書名" style="display:inline-table; width: 30%; float:left">/el-input>
el-button type="primary" @click="addBook()" style="float:left; margin: 2px;">新增/el-button>
/el-row>
el-row>
el-table :data="bookList" style="width: 100%" border>
el-table-column prop="id" label="編號(hào)" min-width="100">
template slot-scope="scope"> {{ scope.row.pk }} /template>
/el-table-column>
el-table-column prop="bookName" label="書名" min-width="100">
template slot-scope="scope"> {{ scope.row.fields.bookName }} /template>
/el-table-column>
el-table-column prop="createTime" label="添加時(shí)間" min-width="100">
template slot-scope="scope"> {{ scope.row.fields.createTime }} /template>
/el-table-column>
/el-table>
    /el-row>
  /div>
/template>

script>
export default {
  name: 'home',
  data () {
    return {
      input: '',
      bookList: []
    }
  },
  mounted: function () {
    this.showBooks()
  },
  methods: {
    addBook () {
      this.$http.get('http://127.0.0.1:8000/api/add_book?book_name=' + this.input)
        .then((response) => {
          var res = JSON.parse(response.bodyText)
          if (res.respCode === '000000') {
            this.showBooks()
          } else {
            this.$message.error('新增書籍失敗,請(qǐng)重試')
            console.log(res['respMsg'])
          }
        })
    },
    showBooks () {
      this.$http.get('http://127.0.0.1:8000/api/show_books')
        .then((response) => {
          var res = JSON.parse(response.bodyText)
          console.log(res)
          if (res.respCode === '000000') {
            this.bookList = res['list']
          } else {
            this.$message.error('查詢書籍失敗')
            console.log(res['respMsg'])
          }
        })
    }
  }
}
/script>

style scoped>
  h1, h2 {
    font-weight: normal;
  }

  ul {
  list-style-type: none;
  padding: 0;
}

li {
  display: inline-block;
  margin: 0 10px;
}

a {
  color: #42b983;
}
/style>

在 src/router 目錄的 index.js 中,把新建的 Home 組件,配置到 vue-router 路由中

import Vue from 'vue'
import Router from 'vue-router'
// import HelloWorld from '@/components/HelloWorld'
import Home from '@/components/Home'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      // name: 'HelloWorld',
      name: 'Home',
      // component: HelloWorld
      component: Home
    }
  ]
})

在 src/main.js 文件中,導(dǎo)入 element-ui、vue-resource 庫。

import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI from 'element-ui'
import VueResource from 'vue-resource'
import 'element-ui/lib/theme-chalk/index.css'

Vue.use(ElementUI)
Vue.use(VueResource)

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  render: h => h(App)
})

在前端工程 frontend 目錄下,輸入 npm run dev 啟動(dòng) node 自帶的服務(wù)器,自動(dòng)打開瀏覽器,如下頁面:

5. 解決跨域問題

此時(shí)出現(xiàn)了一個(gè)問題,數(shù)據(jù)是空的,打開開發(fā)者工具,發(fā)現(xiàn)有錯(cuò)誤。因?yàn)槲覀兪褂?VueJS 的開發(fā)環(huán)境脫離了 Django 環(huán)境,訪問 Django 寫的 API,出現(xiàn)了跨域問題,有兩種方法解決,一種是在 VueJS 層上做轉(zhuǎn)發(fā)(proxyTable),另一種是在 Django 層注入 header,這里使用后者,用 Django 的第三方包 django-cors-headers 來解決跨域問題。

pip install django-cors-headers

修改 settings.py

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware',    # 添加1,注意中間件的添加順序
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

CORS_ORIGIN_ALLOW_ALL = True        # 添加2

至此,頁面上有數(shù)據(jù)了,如下:

新增書籍,如填入:“Django從入門到放棄”,新增的書籍信息會(huì)實(shí)時(shí)反映到頁面的列表中,這得益于Vue.js的數(shù)據(jù)雙向綁定特性。

6. 整合 Django 和 Vue.js 前端

目前我們已經(jīng)分別完成了 Django 后端和 Vue.js 前端工程的創(chuàng)建和編寫,但實(shí)際上它們是運(yùn)行在各自的服務(wù)器上,和我們的要求是不一致的。

在前端工程 frontend 目錄下,輸入 npm run build,如果項(xiàng)目沒有錯(cuò)誤的話,就能夠看到所有的組件、css、圖片等都被 webpack 自動(dòng)打包到 dist 目錄下了,里面有一個(gè) index.html 和一個(gè)文件夾 static。

修改 djangoVue 下的 urls ,使用通用視圖創(chuàng)建最簡(jiǎn)單的模板控制器,訪問 『/』時(shí)直接返回 index.html

from django.contrib import admin
from django.urls import path, include
from django.views.generic import TemplateView

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('backend.urls')),
    path(r'', TemplateView.as_view(template_name="index.html")),
]

配置 Django 項(xiàng)目的模板搜索路徑。上一步使用了 Django 的模板系統(tǒng),所以需要配置一下模板使 Django 知道從哪里找到 index.html。修改 settings.py 文件,如下:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        # 'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'DIRS': [os.path.join(BASE_DIR, 'frontend/dist')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

配置靜態(tài)文件的搜索路徑。

# Add for vuejs
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "frontend/dist/static"),
]

配置完成,啟動(dòng) Django 服務(wù) python manage.py runserver,就能夠看到我們的前端頁面在瀏覽器上展現(xiàn):


此時(shí)服務(wù)的端口已經(jīng)是 Django 服務(wù)的 8000 而不是 node 服務(wù)的 8080 了,說明我們已經(jīng)成功通過 Django 集成了 Vue 前端工程。

到此這篇關(guān)于手把手教你使用Django + Vue.js 快速構(gòu)建項(xiàng)目的文章就介紹到這了,更多相關(guān)Django Vue.js構(gòu)建項(xiàng)目內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解django模板與vue.js沖突問題
  • django中使用vue.js的要點(diǎn)總結(jié)
  • Django+Vue.js搭建前后端分離項(xiàng)目的示例

標(biāo)簽:盤錦 大同 漯河 寧夏 南平 林芝 海南 普洱

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《手把手教你使用Django + Vue.js 快速構(gòu)建項(xiàng)目》,本文關(guān)鍵詞  手把手,教你,使用,Django,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《手把手教你使用Django + Vue.js 快速構(gòu)建項(xiàng)目》相關(guān)的同類信息!
  • 本頁收集關(guān)于手把手教你使用Django + Vue.js 快速構(gòu)建項(xiàng)目的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产在线观看免费网站| 日韩电影在线观看电影| 亚洲1区2区3区4区| 在线观看黄色av| 一区二区视频在线观看免费的| 九色丨蝌蚪丨成人| 亚洲第一精品夜夜躁人人躁| 99精品视频免费在线观看| 亚洲三区在线观看| 波多野结衣乳巨码无在线观看| 三上亚洲一区二区| 天天干天天草天天射| 成人动漫一区| 国产精品99久久久久久人| 亚洲国产高清高潮精品美女| 久热国产视频| 美女久久久久久久久久| 成人国产二区| 欧美日韩亚洲一区二| xfav资源| 18被视频免费观看视频| 日韩精品免费一区二区| 欧美日韩国产亚洲沙发| 一区二区国产在线观看| 青青草原国产在线| 91aaa在线观看| 成人高清免费在线播放| 日韩中文字幕网| 国产盗摄——sm在线视频| 欧美欧美午夜aⅴ在线观看| 久久综合久久综合九色| 亚洲第一福利社区| 久久国产精品高清一区二区三区| 日韩av一区二区三区美女毛片| 欧美体内she精视频在线观看| 久久99精品一区二区三区三区| 精品国产1区2区| 污黄视频在线观看| 秘密基地免费观看完整版中文| 精品久久久久久久| 欧美激情欧美激情在线五月| 岛国在线视频| 中文字幕+乱码+中文字幕一区| 日日摸夜夜添夜夜添亚洲女人| 人妻有码中文字幕| 性网站在线看| 91精品国产高清久久久久久91裸体| 在线观看av网站| 久久久久国产美女免费网站| 午夜免费激情视频| 亚洲欧美乱综合图片区小说区| 丰满人妻一区二区三区53视频| 激情网站在线观看| 日本精品在线观看视频| √天堂8资源中文在线| 91福利视频免费观看| 激情久久99| 九九热在线观看| 天堂va蜜桃一区二区三区| 欧美牲交a欧美牲交| 亚洲黄色av| 亚洲激情视频| 人人精品视频| 理论片午午伦夜理片在线播放| 18以下岁禁止1000部免费| 欧美一区二区视频17c| 女女同性女同一区二区三区按摩| 黄色片免费大全| 久久亚洲国产视频| 五月激情六月婷婷| 人体私拍套图hdxxxx| 在线免费观看高清视频色| 性欧美xxxx| 精品国产99久久久久久| 精品久久久久久久| 男女污视频在线观看| 日韩精品分区| 久久久激情视频| 在线免费观看h视频| 西西大胆午夜视频| 国产情侣一区在线| 国产精品秘入口| 色妇色综合久久夜夜| 岛国精品一区二区三区| 美丽的姑娘在线观看免费动漫| 中文字幕成人| 青青草原综合久久大伊人精品| 6080午夜不卡| 欧美一区二视频在线免费观看| 永久免费未视频| 成人午夜激情片| 中文xxx视频| 中文字幕乱码亚洲无线精品一区| 亚洲一区二区三区免费在线观看| 国产高清自拍视频在线观看| 午夜一区在线| 日本激情视频网| 26uuu色噜噜精品一区| 91成人app| 成人精品视频一区二区三区尤物| 中文字幕视频免费在线观看| 免费看黄色的网站| 久久精品视频9| 国产美女av一区二区三区| 欧美日本三区| 中文字幕免费高清在线| 熟女高潮一区二区三区| 黄色视屏在线免费观看| 国产精品丝袜久久久久久app| 国产区日韩欧美| 久久r这里只有精品| 在线观看视频一区二区| 欧美肥妇毛茸茸| 在线视频一二三区| 国产人妻精品久久久久野外| 在线免费看黄视频| 亚洲欧美综合另类在线卡通| 国产伦精品一区二区三区免费迷| 在线播放欧美女士性生活| 欧美日韩高清在线| 国产精品理论在线| 欧美爱爱视频网站| 国产精品chinese在线观看| 久久亚洲春色中文字幕| 蜜臀av在线播放一区二区三区| 国产精品美女www爽爽爽| 99国内精品| 影音先锋中文字幕在线视频| 夜夜骑日日射| 欧美性感一区二区三区| 舐め犯し波多野结衣在线观看| 国产精品扒开做爽爽爽的视频| www.欧美色| 国产在线资源一区| 亚洲综合日韩中文字幕v在线| 亚洲色图欧美视频| 成人在线啊v| 欧美第一区第二区| 免费h网站在线观看| 精品精品国产高清一毛片一天堂| 精品久久久久久中文字幕大豆网| 偷拍中文亚洲欧美动漫| 日本成人免费在线观看| 黄色毛片网站| 黄色国产一级视频| 久久国产精品99国产精| 国产激情在线| 中文字幕免费一区二区三区| 一道本无吗dⅴd在线播放一区| 欧美精品自拍| 爱草tv视频在线观看992| av网站免费播放| av福利在线播放| 99精产国品一二三产品香蕉| 国产在线资源一区| 久久精品一区二区不卡| 日韩欧美国产精品| 亚洲在线免费看| √…a在线天堂一区| 欧美99在线视频观看| 亚洲狼人精品一区二区三区| 国产成人亚洲综合91| 久久精品一级| 碰草在线视频| 久一视频在线观看| 欧洲久久久久久| 免费视频爱爱太爽了| 加勒比av中文字幕| 欧美va日韩va| 一本色道久久综合| 亚洲一区二区三区四区在线| 不卡的一区二区| 免费在线亚洲欧美| 97影院秋霞午夜在线观看| 亚洲人成色777777老人头| 亚洲欧洲综合网| 99久久久成人国产精品| 亚洲国产精品久久久久爰色欲| 性色视频在线观看| 亚洲男女毛片无遮挡| 国产精品久久久久久久久久妞妞| 国产在线观看免费视频软件| 国产精品无码电影在线观看| 亚洲免费av电影| 麻豆一区产品精品蜜桃的特点| 日韩欧美大片| 一级片在线免费看| 国产成人av影院| 国产精品亚洲成在人线| 天天久久综合| 亚洲色图图片网| 成人av一区二区三区| 日韩大片免费在线观看| 亚洲国产精品精华液网站| 国产精品亚洲电影久久成人影院| 中文日本高清免费| 日本高清成人vr专区| 精品一区二区三区免费视频| 天天鲁一鲁摸一摸爽一爽| 日本熟妇人妻xxxx| 成人精品鲁一区一区二区| 国产av人人夜夜澡人人爽麻豆| 国产精品普通话对白| 久久久五月婷婷| 噜噜噜天天躁狠狠躁夜夜精品| 午夜影院一区| 久久精品国产一区| 中文字幕av网站| 亚洲大尺度美女在线| 国产suv精品一区二区883| 国产精品国产精品国产专区蜜臀ah| 97久久久精品综合88久久| 日韩中文字幕亚洲| 国产91色在线|| 亚洲欧洲专区| 日韩高清一二三区| 精品国产欧美成人夜夜嗨| 亚洲第一二三四五区| 国产资源在线观看| 影音先锋亚洲视频| 三上悠亚在线一区二区| 久久99精品久久久久久久久久久久| 色系列之999| 午夜欧美性电影| 性久久久久久| 中文字幕一区二区三区免费看| 精品国产精品久久一区免费式| 久草视频免费在线| 国产网站免费在线观看| 国产九九在线| 午夜精品久久久久久久| 国产7777| 99热精品免费| 一区二区三国产精华液| 国产免费一区二区三区四区五区| 亚洲国产精品18久久久久久| 国产成人天天5g影院在线观看| 中文国产亚洲喷潮| av小说在线播放| 男男一级淫片免费播放| 欧美黄色三级| y4480在线8影院| 婷婷丁香花五月天| 中文字幕亚洲视频| 久久久.www| 欧美日韩一区二区免费在线观看| 黑人性生活视频| 国产一区二区三区视频免费观看| 新欧美整片sss第一页| 欧美三级午夜理伦三级中视频| 亚洲成人精品久久久| 国产精品入口日韩视频大尺度| 116极品美女午夜一级| a级高清视频欧美日韩| 伊人av综合网| 亚洲成av人在线观看| 捷克做爰xxxⅹ性视频| 18禁男女爽爽爽午夜网站免费| 日韩8x8x| 97视频网站入口| 欲求不满的岳中文字幕| 国产农村老头老太视频| 任你躁在线精品免费| 日韩一区二区在线观看视频| 小泽玛利亚一区| 国产偷窥女洗浴在线观看亚洲| 99久久99久久精品免费观看| 亚洲精品久久久久中文字幕二区| av网站观看| 7777精品久久久大香线蕉| 日韩免费一二三区| 在线播放中文字幕| 最新国产拍偷乱拍精品| 亚洲精品中文字幕99999| 成人短视频在线观看| www.777色| 91国拍精品国产粉嫩亚洲一区| 精品国产一区二区三区久久狼5月| 一级做a爱片久久毛片| 五月花丁香婷婷| 美女激情视频网站| www.成人在线观看| 成人av在线亚洲| 妞干网在线视频观看| 黄色av一区二区| 中文字幕一区二区人妻电影丶| 日韩欧美高清视频| www久久久久久久| 亚洲最新av| 丁香久久五月| 欧美熟妇交换久久久久久分类| 一呦二呦三呦精品国产| 亚洲www啪成人一区二区麻豆| 中文在线字幕在线观看| 三级特黄视频| 农村妇女一区二区| 欧美孕妇与黑人孕交| 国产成人av在线播放| 丝袜亚洲另类欧美| 男人天堂手机在线| 亚洲图片在线综合| 三年片大全在线观看大全有哪些| 少妇av一区二区三区无码| 精品国产一区二区三区| 亚洲欧洲另类国产综合| 久久久在线视频| 日韩av资源在线| 视频在线99re| 午夜免费福利在线观看| 日韩激情av在线免费观看| 一级片视频免费看| 成人欧美视频在线观看播放| 亚洲美腿欧美激情另类| 在线免费观看av网| 亚洲第一视频在线观看| 永久免费网站视频在线观看| 草莓视频一区| 久久久久久久综合色一本| 日韩一区精品字幕| 国产馆手机在线观看| www.日本xxxx| 午夜免费福利小电影| 日韩最新在线| 亚洲伦理一区| 神马久久久久久久久久久| 亚洲中文字幕一区二区| 天码人妻一区二区三区在线看| 无遮挡动作视频在线观看免费入口|