欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

創(chuàng)建simplecmdb項(xiàng)目-創(chuàng)新互聯(lián)

創(chuàng)建simplecmdb項(xiàng)目

創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比申扎網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式申扎網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋申扎地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴(lài)。

一、創(chuàng)建項(xiàng)目simplecmdb,創(chuàng)建一個(gè)應(yīng)用,startapp hostinfo,在setting中添加應(yīng)用

[root@133 ]# cd /opt/python/django/ [root@133 django]# django-admin.py startproject simplecmdb [root@133 django]# cd simplecmdb/ [root@133 simplecmdb]# ls manage.py  simplecmdb [root@133 simplecmdb]# python manage.py startapp hostinfo [root@133 simplecmdb]# cd simplecmdb/ [root@133 simplecmdb]# vim settings.py #添加app應(yīng)用:hostinfo INSTALLED_APPS = (     'hostinfo', ) #注釋這一行,允許使用第三方的中間鍵 MIDDLEWARE_CLASSES = (     #'django.middleware.csrf.CsrfViewMiddleware', ) #修改語(yǔ)言編碼和時(shí)區(qū) LANGUAGE_CODE = 'zh-cn' TIME_ZONE = 'Asia/Shanghai' [root@133 django]# cd /opt/python/django/simplecmdb/ [root@133 simplecmdb]# ll 總用量 12 drwxr-xr-x 2 root root 4096 1月   4 11:13 hostinfo -rwxr-xr-x 1 root root  253 1月   4 11:12 manage.py drwxr-xr-x 2 root root 4096 1月   4 14:31 simplecmdb #啟動(dòng)server [root@133 simplecmdb]# nohup python manage.py runserver 112.65.140.133:8080 &[root@133 simplecmdb]# python manage.py runserver 112.65.140.133:8080 Validating models... 0 errors found January 04, 2017 - 14:33:01 Django version 1.6.5, using settings 'simplecmdb.settings' Starting development server at http://112.65.140.133:8080/ Quit the server with CONTROL-C.

瀏覽器訪問(wèn)ok:http://11.65.140.13:8080/

創(chuàng)建simplecmdb項(xiàng)目

二、創(chuàng)建數(shù)據(jù)模型,在hostinfo中定義數(shù)據(jù)模型

[root@133 simplecmdb]# cd /opt/python/django/simplecmdb/hostinfo/ [root@133 hostinfo]# ll 總用量 28 -rw-r--r-- 1 root root  63 1月   4 11:13 admin.py -rw-r--r-- 1 root root 194 1月   4 14:33 admin.pyc -rw-r--r-- 1 root root   0 1月   4 11:13 __init__.py -rw-r--r-- 1 root root 137 1月   4 14:33 __init__.pyc -rw-r--r-- 1 root root  57 1月   4 11:13 models.py -rw-r--r-- 1 root root 191 1月   4 14:33 models.pyc -rw-r--r-- 1 root root  60 1月   4 11:13 tests.py -rw-r--r-- 1 root root  63 1月   4 11:13 views.py [root@133 hostinfo]# vim models.py from django.db import models # Create your models here. class Host(models.Model):     hostname = models.CharField(max_length = 50)     ip = models.IPAddressField()     vendor = models.CharField(max_length = 50)     product = models.CharField(max_length = 50)     sn = models.CharField(max_length = 50)     cpu_model = models.CharField(max_length = 50)     cpu_num = models.IntegerField(max_length = 50)     memory = models.CharField(max_length= 50)     osver = models.CharField(max_length = 50)

初始化數(shù)據(jù)模型,即將數(shù)據(jù)模型保存到數(shù)據(jù)庫(kù)中

#檢查錯(cuò)誤 [root@133 simplecmdb]# python manage.py validate 0 errors found #查看同步將會(huì)執(zhí)行的sql [root@133 simplecmdb]# python manage.py sqlall hostinfo BEGIN; CREATE TABLE "hostinfo_host" (     "id" integer NOT NULL PRIMARY KEY,     "hostname" varchar(50) NOT NULL,     "ip" char(15) NOT NULL,     "vendor" varchar(50) NOT NULL,     "product" varchar(50) NOT NULL,     "sn" varchar(50) NOT NULL,     "cpu_model" varchar(50) NOT NULL,     "cpu_num" integer NOT NULL,     "memory" varchar(50) NOT NULL,     "osver" varchar(50) NOT NULL ) ; COMMIT; #同步models到sql [root@133 simplecmdb]# python manage.py syncdb Creating tables ... Creating table django_admin_log Creating table auth_permission Creating table auth_group_permissions Creating table auth_group Creating table auth_user_groups Creating table auth_user_user_permissions Creating table auth_user Creating table django_content_type Creating table django_session Creating table hostinfo_host You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (leave blank to use 'root'): root  #用戶 Email address: david-dai@zamplus.com       #郵箱 Password:                                   #輸入密碼 Password (again):  Superuser created successfully. Installing custom SQL ... Installing indexes ... Installed 0 object(s) from 0 fixture(s)

打開(kāi)admin頁(yè)面,輸入用戶名和密碼登錄,但是看不到host頁(yè)面,

如果需要看到host頁(yè)面,需要注冊(cè)host class,把需要顯示的字段在admin.py中定義,并且在admin.site.register中注冊(cè)

創(chuàng)建simplecmdb項(xiàng)目

[root@133 simplecmdb]# cd /opt/python/django/simplecmdb/hostinfo/ [root@133 hostinfo]# vim admin.py from django.contrib import admin from hostinfo.models import Host  #導(dǎo)入hostinfo目錄下的models.py這個(gè)模塊 # Register your models here.#把需要顯示的字段定義好,才能在web頁(yè)面上顯示出來(lái) class HostAdmin(admin.ModelAdmin):     list_display = [             'hostname',             'ip',             'cpu_model',             'cpu_num',             'memory',             'vendor',             'product',             'osver',             'sn'                    ] admin.site.register(Host, HostAdmin)

注冊(cè)之后,發(fā)現(xiàn)Host在頁(yè)面上顯示了

創(chuàng)建simplecmdb項(xiàng)目

點(diǎn)擊添加host,增加了host的配置,然后點(diǎn)擊保存,即可顯示相關(guān)的信息。

創(chuàng)建simplecmdb項(xiàng)目

創(chuàng)建simplecmdb項(xiàng)目

錯(cuò)誤記錄:

在定義models.py中定義字段的時(shí)候,vendor錯(cuò)誤寫(xiě)成了vender,導(dǎo)致后面頁(yè)面去數(shù)據(jù)庫(kù)取數(shù)據(jù)找不到vendor字段,報(bào)錯(cuò)

解決辦法:

1、刪除db.sqlite3

2、修改models.py,vender修改為vendor,重新初始化sqlite3數(shù)據(jù)庫(kù)

三、定義url訪問(wèn)路徑(mvc中的c,正則表達(dá)式,當(dāng)用戶訪問(wèn)/hostinfo/collect 這個(gè)url,讓hostinfo應(yīng)用中的views中的collect函數(shù)處理

[root@133 simplecmdb]# vim urls.py from django.conf.urls import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns('',     # Examples:     # url(r'^$', 'simplecmdb.views.home', name='home'),     # url(r'^blog/', include('blog.urls')),     url(r'^admin/', include(admin.site.urls)),     url(r'^hostinfo/collect/$','hostinfo.views.collect'),# )

四、views.py定義訪問(wèn)的方法

[root@133 simplecmdb]# vim /opt/python/django/simplecmdb/hostinfo/views.py  from django.shortcuts import render from django.http import HttpResponse from hostinfo.models import Host # Create your views here. def collect(req):     if req.POST:         hostname = req.POST.get('hostname')         ip = req.POST.get('ip')         osver = req.POST.get('osver')         vendor = req.POST.get('vendor')         product = req.POST.get('product')         cpu_model = req.POST.get('cpu_model')         cpu_num = req.POST.get('cpu_num')         memory = req.POST.get('memory')         sn = req.POST.get('sn')                 host = Host()         host.hostname = hostname         host.ip = ip         host.osver = osver         host.vendor = vendor         host.product = product         host.cpu_model = cpu_model         host.cpu_num = cpu_num         host.memory = memory         host.sn = sn         host.save()         return HttpResponse('OK')     else:         return HttpResponse('no data')         #使用curl方法,傳遞參數(shù),用get得到參數(shù)       [root@133 hostinfo]# curl -d hostname='node02' -d ip='192.168.1.2' -d osver='Centos6.5' -d vendor='HP' -d product='BL 380' -d sn='##$$123' -d cpu_model='Intel' -d cpu_num=16 -d memory='32G' http://112.65.140.133:8080/hostinfo/collect/ OK

創(chuàng)建simplecmdb項(xiàng)目

創(chuàng)建simplecmdb項(xiàng)目

1、使用shell添加主機(jī),shell腳本里面就是curl命令,查看頁(yè)面,結(jié)果顯示node03已經(jīng)添加

[root@133 django]# cd /opt/python/django/ [root@133 django]# vim data.sh  curl -d hostname='node03' -d ip='192.168.1.3' -d osver='Centos6.5' -d vendor='HP' -d product='BL 380' -d sn='##$$123' -d cpu_model='Intel' -d cpu_num=16 -d memory='32G'  [root@133 django]# sh data.sh  OK

創(chuàng)建simplecmdb項(xiàng)目

2、python下urllib,urllib2,httplib方法傳遞數(shù)據(jù) ,查看node04傳遞成功

[root@133 django]# ipython In [4]: import urllib, urllib2 In [5]: help(urllib2.urlopen) Help on function urlopen in module urllib2: urlopen(url, data=None, timeout=<object object>) In [7]: req = urllib2.urlopen('http://112.65.140.133:8080/hostinfo/collect') In [8]: req.read() Out[8]: 'no data'  #直接返回no data #'123'格式不對(duì),需要是post格式才可以 In [12]: req = urllib2.urlopen('http://112.65.140.133:8080/hostinfo/collect',‘123’)   File "<ipython-input-12-eb17fa9ebc01>", line 1     req = urllib2.urlopen('http://112.65.140.133:8080/hostinfo/collect',‘123’)                                                                      ^ SyntaxError: invalid syntax In [13]: help(urllib.urlencode) Help on function urlencode in module urllib: urlencode(query, doseq=0)     Encode a sequence of two-element tuples or dictionary into a URL query string.          If any values in the query arg are sequences and doseq is true, each     sequence element is converted to a separate parameter.          If the query arg is a sequence of two-element tuples, the order of the     parameters in the output will match the order of parameters in the     input.           In [16]: urllib.urlencode({'hostname':'node05'}) Out[16]: 'hostname=node05'   In [18]: urllib.urlencode({'hostname':'node05','ip':'192.168.1.5'}) Out[18]: 'ip=192.168.1.5&hostname=node05' In [19]: dic = {'hostname':'node04','ip':'192.168.1.4','osver':'CentOS6.5','vendor':'david','p     ...: roduct':'BL 380','cpu_model':'Intel','cpu_num':'16','memory':'16G','sn':'12345'}     In [25]: dic Out[25]:  {'vendor': 'david',  'cpu_model': 'Intel',  'cpu_num': '16',  'hostname': 'node04',  'ip': '192.168.1.4',  'memory': '16G',  'osver': 'CentOS6.5',  'product': 'BL 380',  'sn': '12345'} In [20]: data = urllib.urlencode(dic) In [21]: data Out[21]: 'product=BL+380&vendor=david&osver=CentOS6.5&sn=12345&memory=16G&cpu_num=16&ip=192.168.1.4&hostname=node04&cpu_model=Intel' In [12]: req = urllib2.urlopen('http://112.65.140.133:8080/hostinfo/collect/',data) In [13]: req.read() Out[13]: 'OK'

創(chuàng)建simplecmdb項(xiàng)目

3、修改python腳本,直接修改將收集到的系統(tǒng)信息發(fā)送到服務(wù)器

[root@133 django]# cat sysinformation.py  #!/usr/bin/env python import urllib,urllib2  #導(dǎo)入urllib模塊 from subprocess import Popen,PIPE def getIfconfig():     p = Popen(['ifconfig'], stdout=PIPE)     data = p.stdout.read()     return data def getDmi():     p = Popen(['dmidecode'], stdout = PIPE)     data = p.stdout.read()     return data def parseData(data):     parsed_data = []     new_line = ''     data = [i for i in data.split('\n') if i ]     for line in data:         if line[0].strip():             parsed_data.append(new_line)             new_line = line + '\n'         else:             new_line +=line + '\n'     parsed_data.append(new_line)     return parsed_data  def parseIfconfig(parsed_data):     dic = {}     tuple_addr= ('lo','vir','vnet','em3','em4')     parsed_data = [i for i in parsed_data if i and not i.startswith(tuple_addr)]     for lines in parsed_data:          line_list = lines.split('\n')         devname = line_list[0].split()[0]         macaddr = line_list[0].split()[-1]         ipaddr = line_list[1].split()[1].split(':')[1]         break     dic['ip'] = devname,ipaddr,macaddr     return dic def parseDmi(parsed_data):     dic = {}     parsed_data = [i for i in parsed_data if i.startswith('System Information')]     parsed_data = [i for i in  parsed_data[0].split('\n')[1:] if i]     dmi_dic =  dict ([i.strip().split(':') for i in parsed_data])     dic ['vendor'] = dmi_dic['Manufacturer'].strip()     dic ['product'] = dmi_dic['Product Name'].strip()     dic ['sn'] = dmi_dic['Serial Number'].strip()     return dic def getHostname(f):     with open(f) as fd:         for line in fd:             if line.startswith('HOSTNAME'):                 hostname = line.split('=')[1].strip()                 break     return {'hostname':hostname} def getOSver(f):     with open(f) as fd:         for line in fd:             osver = line.strip()             break     return {'osver':osver} def getCpu(f):     num = 0     with open(f) as fd:         for line in fd:             if line.startswith('processor'):                 num +=1             if line.startswith('model name'):                 cpu_model = line.split(':')[1].split()                 cpu_model = cpu_model[0] + ' '+cpu_model[-1]      return {'cpu_num':num, 'cpu_model':cpu_model} def getMemory(f):     with open(f) as fd:         for line in fd:             if line.startswith('MemTotal'):                 mem = int(line.split()[1].strip())                 break     mem = "%s" % int(mem/1024.0)+'M'     return {'memory':mem} if __name__ == "__main__":     dic = {}     data_ip = getIfconfig()     parsed_data_ip = parseData(data_ip)     ip = parseIfconfig(parsed_data_ip)            data_dmi = getDmi()     parsed_data_dmi = parseData(data_dmi)     dmi = parseDmi(parsed_data_dmi)          hostname = getHostname('/etc/sysconfig/network')     osver = getOSver('/etc/issue')     cpu = getCpu('/proc/cpuinfo')     mem = getMemory('/proc/meminfo')     dic.update(ip)     dic.update(dmi)     dic.update(hostname)     dic.update(cpu)     dic.update(mem)     dic.update(osver)     #將字典dic內(nèi)容轉(zhuǎn)換為urlencode格式,并用urlopen打開(kāi)網(wǎng)頁(yè)并傳遞數(shù)據(jù),使用req.read()返回結(jié)果     d = urllib.urlencode(dic)     req = urllib2.urlopen('http://112.65.140.133:8080/hostinfo/collect/',d)     print req.read() [root@133 django]# python sysinformation.py  OK

網(wǎng)頁(yè)查看,真實(shí)的系統(tǒng)信息已經(jīng)收集到了

創(chuàng)建simplecmdb項(xiàng)目

五、對(duì)收集的主機(jī)信息進(jìn)行分組管理

創(chuàng)建HostGroup表,models.py

[root@133 simplecmdb]# cd /opt/python/django/simplecmdb/hostinfo/ [root@133 hostinfo]# ll 總用量 32 -rw-r--r-- 1 root root  405 1月   4 15:38 admin.py -rw-r--r-- 1 root root  669 1月   4 16:10 admin.pyc -rw-r--r-- 1 root root    0 1月   4 11:13 __init__.py -rw-r--r-- 1 root root  137 1月   4 14:33 __init__.pyc -rw-r--r-- 1 root root  498 1月   4 15:25 models.py -rw-r--r-- 1 root root  738 1月   4 15:25 models.pyc -rw-r--r-- 1 root root   60 1月   4 11:13 tests.py -rw-r--r-- 1 root root 1099 1月   4 17:17 views.py -rw-r--r-- 1 root root 1115 1月   4 17:17 views.pyc [root@133 hostinfo]# vim models.py from django.db import models # Create your models here. class Host(models.Model):     hostname = models.CharField(max_length = 50)     ip = models.IPAddressField()     vendor = models.CharField(max_length = 50)     product = models.CharField(max_length = 50)     sn = models.CharField(max_length = 50)     cpu_model = models.CharField(max_length = 50)     cpu_num = models.IntegerField(max_length = 50)     memory = models.CharField(max_length = 50)     osver = models.CharField(max_length = 50) class HostGroup(models.Model):     groupname = models.CharField(max_length = 50)     members = models.ManyToManyField(Host)      #同步數(shù)據(jù)庫(kù),創(chuàng)建了2個(gè)表 [root@133 hostinfo]# cd .. [root@133 simplecmdb]# ll 總用量 60 -rw-r--r-- 1 root root 35840 1月   4 17:50 db.sqlite3 drwxr-xr-x 2 root root  4096 1月   4 20:10 hostinfo -rwxr-xr-x 1 root root   253 1月   4 11:12 manage.py -rw------- 1 root root  8640 1月   4 16:59 nohup.out drwxr-xr-x 2 root root  4096 1月   4 18:49 simplecmdb [root@133 simplecmdb]# python manage.py syncdb Creating tables ... Creating table hostinfo_hostgroup_members Creating table hostinfo_hostgroup Installing custom SQL ... Installing indexes ... Installed 0 object(s) from 0 fixture(s) [root@133 simplecmdb]# ll 總用量 68 -rw-r--r-- 1 root root 41984 1月   4 20:10 db.sqlite3 drwxr-xr-x 2 root root  4096 1月   4 20:10 hostinfo -rwxr-xr-x 1 root root   253 1月   4 11:12 manage.py -rw------- 1 root root  8640 1月   4 16:59 nohup.out drwxr-xr-x 2 root root  4096 1月   4 18:49 simplecmdb [root@133 simplecmdb]# sqlite3 db.sqlite3  SQLite version 3.6.20 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .tables auth_group                  django_admin_log           auth_group_permissions      django_content_type        auth_permission             django_session             auth_user                   hostinfo_host              auth_user_groups            hostinfo_hostgroup         auth_user_user_permissions  hostinfo_hostgroup_members sqlite> .schema hostinfo_hostgroup CREATE TABLE "hostinfo_hostgroup" (     "id" integer NOT NULL PRIMARY KEY,     "groupname" varchar(50) NOT NULL ); sqlite> .schema hostinfo_hostgroup_members CREATE TABLE "hostinfo_hostgroup_members" (     "id" integer NOT NULL PRIMARY KEY,     "hostgroup_id" integer NOT NULL,     "host_id" integer NOT NULL REFERENCES "hostinfo_host" ("id"),     UNIQUE ("hostgroup_id", "host_id") ); CREATE INDEX "hostinfo_hostgroup_members_27f00f5d" ON "hostinfo_hostgroup_members" ("host_id"); CREATE INDEX "hostinfo_hostgroup_members_521bb4b0" ON "hostinfo_hostgroup_members" ("hostgroup_id"); sqlite>  sqlite> .exit

注冊(cè)數(shù)據(jù)庫(kù),admin.py

[root@133 hostinfo]# vim /opt/python/django/simplecmdb/hostinfo/admin.py from django.contrib import admin from hostinfo.models import Host,HostGroup # Register your models here. class HostAdmin(admin.ModelAdmin):     list_display = [             'hostname',             'ip',             'cpu_model',             'cpu_num',             'memory',             'vendor',             'product',             'osver',             'sn'                    ] class HostGroupAdmin(admin.ModelAdmin):     list_display = ['groupname'] admin.site.register(Host, HostAdmin) admin.site.register(HostGroup,HostGroupAdmin)

可以看到Host groups組

創(chuàng)建simplecmdb項(xiàng)目

如果需要分組的時(shí)候顯示主機(jī)名hostname,需要在modles中繼承并重寫(xiě)self方法

[root@133 hostinfo]# vim /opt/python/django/simplecmdb/hostinfo/models.py from django.db import models # Create your models here. class Host(models.Model):     hostname = models.CharField(max_length = 50)     ip = models.IPAddressField()     vendor = models.CharField(max_length = 50)     product = models.CharField(max_length = 50)     sn = models.CharField(max_length = 50)     cpu_model = models.CharField(max_length = 50)     cpu_num = models.IntegerField(max_length = 50)     memory = models.CharField(max_length = 50)     osver = models.CharField(max_length = 50) #這里指定使用hostname顯示     def __unicode__(self):         return self.hostname class HostGroup(models.Model):     groupname = models.CharField(max_length = 50)     members = models.ManyToManyField(Host)

創(chuàng)建simplecmdb項(xiàng)目

問(wèn)題:關(guān)于def __unicode__(self): 他的作用是什么是啊,這return hostname 可是怎么和下邊的函數(shù)HostGroup 關(guān)聯(lián)起來(lái)的呢?

主機(jī)與主機(jī)組是通過(guò)members = models.ManyToManyField(Host)這個(gè)字段關(guān)聯(lián)起來(lái)的。
def __unicode__(self)它的作用與在類(lèi)里重寫(xiě)__str__()這個(gè)方法是一樣的。讓類(lèi)返回一個(gè)字節(jié)串,否則members顯示的是對(duì)象。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章題目:創(chuàng)建simplecmdb項(xiàng)目-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)URL:http://aaarwkj.com/article6/cocsog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、云服務(wù)器、服務(wù)器托管、做網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
顶级少妇做爰片高潮丸| 农村精品少妇久久久久久| 日本加勒比不卡在线视频| 国产黄片免费高清观看| 国产成人亚洲精品另类动态| 日韩精品在线另类亚洲| 日韩成年人高清精品不卡一区二区| av天堂高清在线观看| 亚洲中文字幕偷拍色图| 森泽佳奈在线视频观看| 亚洲成av人一区二区三区| 日韩精品视频播放一区 | 激情一区二区三区视频| 国内一级片内射视频播放| 欧美 日韩一区二区在线| 妇女自拍偷自拍亚洲精品| 欧美久久久久久久黑人| 91国产视频在线观看免费 | 日韩二区三区在线观看| 中文字幕日韩欧美一区| 99热成人精品热久久| 国产传媒在线播放一区| 日本少妇人妻中文字幕| 日韩高清av一区二区| 国产欧美日本综合一区| 色呦呦视频在线免费观看| 欧美日韩中文字幕精品视频| 美女床上激情啪啪网页| 亚洲日本国产精品一区| 久久这里只有精品视频| 日韩国产传媒在线精品| 日本丰满熟女毛茸茸的黑逼| 国产精品亚洲欧美日韩综合| 国内极品尤物视频在线| 99热精品综合在线观看| 一本久道久久综合久久鬼色| 四虎最新地址在线观看| 亚洲欧美日韩乱码综合久久| 亚洲成人大片免费在线观看 | 午夜少妇福利在线观看| 国产在线拍揄自揄视频不卡99|