精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

盤點(diǎn)Python網(wǎng)頁開發(fā)輕量級(jí)框架Flask知識(shí)(上篇)

開發(fā) 后端
今天來給大家說一個(gè)Python的輕量級(jí)web開發(fā)框架-------Flask,為什么要推薦它呢?當(dāng)然是因?yàn)樗鼔蜉p量級(jí)了,開發(fā)迅速是它的特點(diǎn),當(dāng)然它也有缺點(diǎn),不過這里不說,因?yàn)榧扔盟终f它差感覺不好。

前言

今天來給大家說一個(gè)Python的輕量級(jí)web開發(fā)框架-------Flask,為什么要推薦它呢?當(dāng)然是因?yàn)樗鼔蜉p量級(jí)了,開發(fā)迅速是它的特點(diǎn),當(dāng)然它也有缺點(diǎn),不過這里不說,因?yàn)榧扔盟终f它差感覺不好。

一、安裝flask

  1. pip install flask #需要注意的是,還有flake,那個(gè)是檢查錯(cuò)誤的模塊,不要搞混了 

pip install flask #需要注意的是,還有flake,那個(gè)是檢查錯(cuò)誤的模塊,不要搞混了

可以看到成功了,總共下載了四個(gè)模塊,分別是對(duì)應(yīng)的web開發(fā)中的模板渲染,網(wǎng)絡(luò)服務(wù)都是一些flask依賴包。

二、flask的用法

1.啟動(dòng)

既然說到用法,那第一個(gè)就肯定得說說它是怎么啟動(dòng)的,不然別人哪里還學(xué)的下去啊,廢話少說,開干。

  1. from flask import Flask 
  2. app=Flask(__name__) #創(chuàng)建應(yīng)用實(shí)例 
  3.  
  4. @app.route('/')  # route裝飾器創(chuàng)建路由 
  5. def hello():  # 訪問此路由時(shí)執(zhí)行的視圖函數(shù) 
  6.     return 'hello' # 視圖函數(shù)的返回值,又叫‘響應(yīng)’ 
  7. if __name__ == '__main__'
  8.     app.run(debug=True) #開始運(yùn)行flask應(yīng)用程序,以調(diào)試模式運(yùn)行 
  9.      
  10. #可以設(shè)置啟動(dòng)的host地址和端口號(hào),具體方法: 
  11. app.run(host='192.168.1.2',port=3243) 

從上面可以看出,因?yàn)槲倚薷牧艘晥D函數(shù)和返回值,只需在瀏覽器刷新即可,完全不用退出重啟,sublime text 3真是神器啊,給力,墻裂建議大家使用。

2.創(chuàng)建Flask應(yīng)用注意事項(xiàng)

要想創(chuàng)建一個(gè)Flask應(yīng)用,首先我們要建立一個(gè)項(xiàng)目文件夾,里面至少要有兩個(gè)文件夾,一個(gè)存放媒體文件(static),一個(gè)存放網(wǎng)頁文件(templates),如果Python程序不多,可以不用給它單獨(dú)建立文件夾。Flask不像Django一樣可以自動(dòng)創(chuàng)建文件夾,需要我們自己創(chuàng)建。如果你想查看flask創(chuàng)建的路由信息:

url_map存儲(chǔ)的是url與endpoint的映射。那么這個(gè)endpoint是什么意思了?實(shí)際上,當(dāng)請(qǐng)求傳來一個(gè)url的時(shí)候,會(huì)先通過rule找到endpoint,然后再根據(jù)endpoint再找到對(duì)應(yīng)的視圖函數(shù)。通常,endpoint的名字都和視圖函數(shù)名一樣。這里還有一點(diǎn)特別注意,那就是所有的控制臺(tái)輸出信息語句必須寫在app.run()之前,否則不起作用。

3.Flask的妙用

我們可以看到Flask里面有一個(gè)name,這個(gè)是為了啟動(dòng)模板專門設(shè)立的,除了這個(gè),它還有:

static_url_path:靜態(tài)網(wǎng)頁地址

static_folder:靜態(tài)地址,默認(rèn)為static文件夾

template_folder:模板文件夾,默認(rèn)為templates文件夾

4.添加配置文件

1)直接在app.run()函數(shù)里添加

比如以調(diào)試模式運(yùn)行Flask應(yīng)用就可以使用:app.run(debug=True)

2)直接配置

  1. app.config=True 

3)建立配置文件

在項(xiàng)目文件夾根目錄建立一個(gè)配置文件夾,名字為 hw.hw,后綴名你隨便取,內(nèi)容為 DEBUG=True,然后在app.run()前面添加app.config.from_pyfile('hw.hw') 即可。

5.視圖函數(shù)用法

1)下級(jí)頁面

  1. @app.route('/index'
  2. def index(): 
  3.     return 'index' 

2)轉(zhuǎn)換器

  1. @app.route('/index/<int:num>') #定義轉(zhuǎn)換器名字num 
  2. def num(num): #將轉(zhuǎn)換器傳入函數(shù)中 
  3.     if num>10: #如果它的值大于10輸出dog,小于10輸出pig 
  4.         return 'dog' 
  5.     else
  6.         return 'pig' 

這里需要說到的是,轉(zhuǎn)換器主要是將頁面后的值作為某一個(gè)標(biāo)準(zhǔn)來得到另一個(gè)頁面,我們??吹降募用茏址褪怯眠@個(gè)做的,那么它有哪些類型呢?

Flask的默認(rèn)轉(zhuǎn)換器:DEFAULT_CONVERTERS = {

  1. Flask的默認(rèn)轉(zhuǎn)換器:DEFAULT_CONVERTERS = { 
  2. default’: UnicodeConverter, 
  3. ‘string’: UnicodeConverter, 
  4. any’: AnyConverter, 
  5. ‘path’: PathConverter, 
  6. int’: IntegerConverter, 
  7. float’: FloatConverter, 
  8. ‘uuid’: UUIDConverter,} 

除此之外,我們也可以自定一轉(zhuǎn)換器,定義轉(zhuǎn)換器需要使用依賴包,方法如下:

  1. class rc(BaseConverter):       
  2.  # 重寫父類的屬性,定義轉(zhuǎn)換器規(guī)則 
  3.     def __init__(self,url_map): 
  4.         super(rc,self).__init__(url_map) 
  5.         #驗(yàn)證QQ郵箱的正則表達(dá)式 
  6.         self.regex ='[0-9a-zA-Z_]{0,19}@qq.com' 
  7.     #定義視圖函數(shù)下的返回值 
  8.     def to_python(self,value): 
  9.         val=value 
  10.         return val 
  11.     def to_url(self,value):#返回url 
  12.         return value 
  13. app.url_map.converters['em'] = rc #將自定義的轉(zhuǎn)換器添加到轉(zhuǎn)換器列表中 
  14. @app.route('/emm/<em:email>') #加入新的轉(zhuǎn)換器 
  15. def email(email): 
  16.     return 'email is:%s' % email #返回email 

可以通過反向解析將添加了自定義轉(zhuǎn)換器的視圖函數(shù)拿來用,這里需要用到重定向和反向解析:

  1. @app.route('/search'
  2. def jj(): 
  3.     url=url_for('email',email='2091500484@qq.com'
  4.     return redirect(url) 

如果不注明轉(zhuǎn)換器類型,就是默認(rèn)的字符串型:

  1. @app.route('/hw/<boy>')  
  2. def hw(boy): 
  3.     return 'boy:%s'%boy 

還可以定義默認(rèn)的轉(zhuǎn)換器的默認(rèn)值:

  1. @app.route('/ha/<string:haid>',defaults={'haid':'hello,boy'}) #設(shè)置默認(rèn)值 
  2. def ha(haid): 
  3.     return 'haid:%s'%haid 

3)多個(gè)路由指向同一地址

  1. @app.route('/1'
  2. @app.route('/2'
  3. def fg(): 
  4.     return '1122' 

這里訪問下級(jí)頁面1或者頁面2都會(huì)得出同樣的結(jié)果’1122‘

6.重定向

重定向即是指從一個(gè)網(wǎng)頁跳轉(zhuǎn)到另一個(gè)網(wǎng)頁,相當(dāng)于刷新之后的操作,這里涉及到flask里的兩個(gè)模塊(redirect,url_for)。

1)直接跳轉(zhuǎn)

直接跳轉(zhuǎn)到路由下

  1. from flask import redirect,url_for 
  2. @app.route('/refer'
  3. def refer(): 
  4.     return redirect('/1'

這樣就可以直接跳轉(zhuǎn)到路由函數(shù)fg中并顯示返回值。

2)間接跳轉(zhuǎn)

我們可以先訪問路由函數(shù),然后跳轉(zhuǎn)到相應(yīng)內(nèi)容頁面

  1. @app.route('/ref'
  2. def ref(): 
  3.     return redirect(url_for('fg')) #跳轉(zhuǎn) 

這樣直接訪問ref子頁面就可以直接跳轉(zhuǎn)到相應(yīng)頁面了

7.定義錯(cuò)誤頁面

有兩種方式,一是使用系統(tǒng)的abort直接賦值,二是使用自定義errorhandler函數(shù)。

1)abort

直接使用系統(tǒng)自帶的錯(cuò)誤內(nèi)容

  1. @app.route('/use/<id>'
  2. def get_use(id): 
  3.     if int(id)<10: 
  4.         abort(404) 
  5.     elif int(id)>20: 
  6.         return '---Error---' 
  7.     return 'hello:%s'%str(id) 

2)errorhandler

自定義錯(cuò)誤頁面內(nèi)容

  1. @app.errorhandler(404) 
  2. def error(err): 
  3.     return 'hello,%s'%err 

3)定義錯(cuò)誤頁面

它可以將自定義的錯(cuò)誤寫入到頁面中,平時(shí)會(huì)用的比較多。

  1. @app.route('/error1'
  2. def err1(): 
  3.     error1=('index error',666,[('key','div'),('value','zero')]) 
  4.     return error1 

當(dāng)然還有一種表述方式:

  1. @app.route('/error2'
  2. def err2(): 
  3.     error2=('login error',444,{'serise':'100','dataframe':'200'}) 
  4.     return error2   

4)設(shè)置請(qǐng)求

這里需要說到一個(gè)新的模塊make_response(),當(dāng)然你也可以使用Response()。

  1. @app.route('/error3'
  2. def err3(): 
  3.     resp=make_response('search error') #這里只需把make_response()換成Response()即可 
  4.     resp.status='400' 
  5.     resp.headers['hrr']='zjj' 
  6.     resp.headers['hw']='zj' 
  7.     return resp 

8.json數(shù)據(jù)讀取

flask中有個(gè)非常給力的可以處理json數(shù)據(jù)的模塊,jsonify。

  1. @app.route('/json1'
  2. def json1(): 
  3.     data={'name':'HW','first':'ZJ'
  4.     return jsonify(data) 
  5.  
  6.  
  7. @app.route('/json2'
  8. def json2(): 
  9.     return jsonify(hour=12,second=21) 

9.cookie的操作

1)設(shè)置cookie

  1. #cookie的設(shè)置 
  2. #set_cookie(key, value='', max_age=None, expires=None,path='/', domain=None, secure=False, httponly=False,samesite=None) 
  3.  
  4. #key:鍵 
  5. #value:值 
  6. #max_age:設(shè)置過期時(shí)間(秒) 
  7. #expires:設(shè)置過期時(shí)間,時(shí)間戳的形式(1970離現(xiàn)在的時(shí)間) 
  8. #path:當(dāng)前主域名 
  9. #domain:子域名 
  10. #設(shè)置cookie和headers 
  11. @app.route('/set_cookie'
  12. def set_cookie(): 
  13.     response=make_response('cookie設(shè)置成功'
  14.     #cookie有效時(shí)長30天也可以是hour second minute 
  15.     time=datetime.datetime.today()+datetime.timedelta(days=30)#設(shè)置cookie的有效時(shí)長 
  16.     response.set_cookie('user','admin',expires=time) #設(shè)置用戶名的cookie 
  17.     response.set_cookie('pass','123456',expires=time) #設(shè)置密碼的cookie 
  18.     response.headers['X-Something']='mything' #這里不允許出現(xiàn)中文 
  19.     response.headers['Server']='Linux' #服務(wù)器名稱 
  20.     return response 

2)獲取cookie

這里需要用到一個(gè)模塊request,它相當(dāng)于模擬一個(gè)請(qǐng)求,你可以把它當(dāng)做requests模塊一樣。

  1. @app.route('/get_cookie'
  2. def get_cookie(): 
  3.     name="用戶名:"+request.cookies.get('user')+"密碼:"+request.cookies.get('pass'
  4.     return name 

3)刪除cookie

有兩種刪除方式來刪除cookie。

1.通過設(shè)置cookie過期時(shí)間為0即可刪除

  1. @app.route('/del_cookie1'
  2. def del_cookie1(): 
  3.     response=make_response('delete cookie 1'
  4.     response.set_cookie('user','',expires=0) 
  5.     response.set_cookie('pass','',expires=0) 
  6.     return response 

2.直接刪除cookie

  1. @app.route('/del_cookie2'
  2. def del_cookie2(): 
  3.     response=make_response('delete cookie 2'
  4.     response.delete_cookie('user'
  5.     response.delete_cookie('pass'
  6.     return response 

10.session操作

session里面保留的就是會(huì)話內(nèi)容,它存在于cookie當(dāng)中,通過它我們可以直接登陸某些已經(jīng)登陸過的系統(tǒng)。要想操作session我們需要引入為它專門準(zhǔn)備的session模塊,還有需要配置安全秘鑰才可以使用session。

1)設(shè)置session

一、配置安全秘鑰:

  1. app.config['SECRET_KEY']=os.urandom(30) 

二、設(shè)置session字典

  1. session['user']='hw' 
  2. session['pass']='zj' 

三、設(shè)置session過期方式

  1. session.parmanent=True #默認(rèn)31天后過期 
  2. #session兩個(gè)小時(shí)過期 
  3. app.config['PERMANENT_SESSION_LIFETIME']= timedelta(hour=2) 

四、綜合代碼

  1. @app.route('/session1'
  2. def session1(): 
  3.     session['user']='hw' 
  4.     session['pass']='zj' 
  5.     session.parmanent=True #默認(rèn)31天后過期 
  6.     return 'login success' 

 

可以看到session成功設(shè)置在cookie里面了,并且瀏覽器也記錄了。當(dāng)然你也可以只設(shè)置cookie,不過為了安全建議你設(shè)置session。

2)獲取session

跟cookie獲取有點(diǎn)不同。

一、get()獲取

  1. @app.route('/session2'
  2. def session2(): 
  3.     us=session.get("user"
  4.     pa=session.get("pass"
  5.     return 'hello %s %s'%(us,pa) 

二、索引獲取

這種方式如果獲取不到值容易產(chǎn)生異常,建議用上一種方法,除非你知道一定能獲取到值。

  1. @app.route('/session2'
  2. def session2(): 
  3.     us=session["user"
  4.     pa=session["pass"
  5.     return 'hello %s %s'%(us,pa) 

3)刪除session

也有兩種方法,不過一種是一個(gè)一個(gè)刪除,另一種則是全部刪除。

一、逐一刪除

  1. @app.route('/session3'
  2. def session3(): 
  3.     session.pop('user',None) 
  4.     session.pop('pass',None) 
  5.     return 'delete successful!!!!' 

二、全部刪除

  1. @app.route('/session4'
  2. def session4(): 
  3.     session.clear() 
  4.     return 'delete successful!!!!' 

11.總結(jié)

 

本文著重講解了Flask的最基礎(chǔ)的用法,F(xiàn)lask是一個(gè)十分優(yōu)秀的web開發(fā)框架,它可以十分迅速的開發(fā)出web應(yīng)用,但是它需要依賴眾多的包才能完善更多的功能。這里只是講述了Flask一半的知識(shí),下一篇文章,繼續(xù)給大家盤點(diǎn),一起學(xué)習(xí),共同進(jìn)步!

 

責(zé)任編輯:武曉燕 來源: Python爬蟲與數(shù)據(jù)挖掘
相關(guān)推薦

2021-07-01 09:08:03

Python網(wǎng)頁開發(fā)Flask

2023-06-13 13:38:00

FlaskPython

2020-11-11 12:13:59

JS

2022-08-10 12:21:07

PythonWebBottle

2012-05-21 21:34:51

iOS

2023-06-27 16:42:18

Tinygrad深度學(xué)習(xí)工具

2025-08-08 02:15:00

WebComponents前端

2011-08-15 10:35:43

iPhone開發(fā)Atomicnonatomic

2022-02-12 21:05:11

異步爬蟲框架

2011-03-02 10:03:44

SaturnJSJS

2021-08-26 10:25:04

JavaScript進(jìn)階操作 前端

2013-06-20 10:28:39

MVVM框架avalon架構(gòu)

2020-10-13 18:09:22

開發(fā)框架開源

2020-11-02 11:24:52

算法人臉識(shí)別技術(shù)

2024-01-02 08:22:01

Koin框架項(xiàng)目

2025-08-01 09:38:00

2010-07-07 09:30:41

WebMatrixWeb開發(fā)

2021-03-02 09:35:33

Python循環(huán)開發(fā)

2025-01-03 09:17:26

JavaSpringBoot

2022-07-15 16:39:19

PythonWhoosh工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲精蜜桃久在线| 国产精品久久国产精品99gif| 男插女视频网站| 国产探花在线观看| 久久综合成人精品亚洲另类欧美 | 精品国产不卡一区二区三区| 91视频最新入口| 欧美性天天影视| 99久久亚洲一区二区三区青草| 国产精品久久久久影院日本| 毛片aaaaa| 凹凸成人精品亚洲精品密奴| 日韩美女一区二区三区四区| 成人免费xxxxx在线视频| 成人在线直播| 国产三级久久久| 操人视频欧美| 91禁在线观看| 香蕉久久久久久久av网站| 裸体女人亚洲精品一区| 强伦人妻一区二区三区| 亚洲精品在线播放| 欧美日精品一区视频| 91午夜在线观看| 久久精品视频观看| 国产日韩av一区二区| 国产区一区二区| 99热这里只有精品9| 日韩精品电影在线观看| 欧美精品xxx| 欧美日韩黄色网| 青青草国产成人a∨下载安卓| 精品88久久久久88久久久| 日韩av自拍偷拍| 日本一道高清亚洲日美韩| 婷婷国产在线综合| 国产精品三级一区二区| 麻豆传媒在线免费看| 国产日韩三级在线| 欧美精品久久久| 老熟妇高潮一区二区高清视频| 狠狠色伊人亚洲综合成人| 国产精品精品视频| 特黄视频免费看| 亚洲欧洲日本一区二区三区| 欧美肥老妇视频| 黑人操日本美女| 日韩精品一区二区久久| 一区二区三欧美| 四虎永久免费在线观看| 亚洲精品国模| 亚洲欧美日韩精品| 亚洲一区二区三区蜜桃| 综合综合综合综合综合网| 日韩成人性视频| 特级西西人体wwwww| 欧美天堂影院| 亚洲美女性视频| 欧美色图亚洲激情| 啪啪亚洲精品| 中文字幕亚洲激情| 欧美88888| 亚洲视频电影在线| 久久99久国产精品黄毛片入口| 51精品免费网站| 午夜精品久久99蜜桃的功能介绍| 久久99精品国产99久久6尤物| 欧美人妻一区二区| 日韩午夜精品| 欧美性做爰毛片| 中文字幕精品视频在线观看| 日韩国产欧美三级| 成人av资源在线播放| 国产美女无遮挡永久免费| 国产河南妇女毛片精品久久久| 99国产在线| 亚洲欧洲综合在线| 国产精品午夜春色av| 性欧美18一19内谢| 波多野结衣在线观看| 欧美视频在线免费| 日本一二区免费| www.成人网| 亚洲视频第一页| 乱h高h女3p含苞待放| 在线欧美视频| 日本一区二区三区四区视频| 伊人久久亚洲综合| 成人精品视频一区二区三区| 欧美精品欧美精品| 成人福利片网站| 欧美日韩国产一区中文午夜| 久久99999| **爰片久久毛片| 亚洲欧美中文字幕在线一区| 极品颜值美女露脸啪啪| 国产欧美亚洲一区| 国产又爽又黄的激情精品视频| 性欧美一区二区三区| 26uuu另类欧美| 日本福利视频导航| 中文在线最新版地址| 精品视频一区二区不卡| 精品人妻伦一二三区久| 欧美a级片视频| 97超级碰碰碰久久久| 91亚洲精品国偷拍自产在线观看 | 欧美日韩一本到| 成人做爰www看视频软件| 欧美色女视频| 97久久精品国产| 国产欧美日韩综合精品一区二区三区| 91一区二区在线观看| 警花观音坐莲激情销魂小说| 午夜精品成人av| 精品国产凹凸成av人导航| 久久免费手机视频| 免费看的黄色欧美网站| 91国产丝袜在线放| 日本在线www| 色诱亚洲精品久久久久久| 日韩高清一二三区| 婷婷伊人综合| 国产精品久久久久久影视| 天堂а在线中文在线无限看推荐| 一区二区三区四区视频精品免费| 国产成人黄色网址| 你懂的一区二区三区| 97香蕉超级碰碰久久免费软件| 国产女人18毛片18精品| 中文字幕精品综合| 亚洲中文字幕久久精品无码喷水| 精品精品国产三级a∨在线| 欧美成人午夜剧场免费观看| 国产一区二区三区视频免费观看| 久久精品水蜜桃av综合天堂| 国产h视频在线播放| 99国产精品久久一区二区三区| 久久中文字幕在线视频| 91久久久久国产一区二区| 国产拍揄自揄精品视频麻豆| 动漫av网站免费观看| 欧美久久精品| 45www国产精品网站| 女人18毛片一区二区三区| 亚洲美女屁股眼交3| 特级西西444www| 亚洲精品国产偷自在线观看| 91沈先生在线观看| 国产黄网站在线观看| 欧美精品777| 国语对白在线播放| 国产福利一区在线| 久久综合久久久久| 澳门精品久久国产| 668精品在线视频| 涩爱av在线播放一区二区| 黑人精品xxx一区一二区| 国产精品无码一区二区三区免费| 性久久久久久| 日本不卡一区| 男女啪啪999亚洲精品| 日韩视频免费在线| www.亚洲天堂.com| 五月天激情小说综合| 国产男男chinese网站| 亚洲永久在线| 日韩视频在线播放| 99精品国产九九国产精品| 久久综合免费视频| 日本高清视频网站| 色综合久久久久久久| 调教驯服丰满美艳麻麻在线视频| 久久黄色级2电影| 4444在线观看| 加勒比久久高清| 国产不卡精品视男人的天堂| 1024国产在线| 精品日韩欧美一区二区| 久久久久久久久久久久久久av| 久久久久亚洲蜜桃| 日韩精品aaa| 国产欧美69| 亚洲欧美日产图| 亚洲日本va| 欧美怡春院一区二区三区| av电影在线观看| 亚洲精品一区二区三区99| 黄色片网站在线免费观看| 国产精品萝li| 中文成人无字幕乱码精品区| 日韩激情视频网站| 日韩国产小视频| 国产探花一区在线观看| 91综合免费在线| 99自拍偷拍视频| 伊人精品久久| 日产日韩在线亚洲欧美| yellow91字幕网在线| 日韩精品高清在线| 国产精选久久久| 精品福利一区二区| 精品国产精品国产精品| 91理论电影在线观看| 久久艹这里只有精品| 先锋a资源在线看亚洲| 潘金莲一级淫片aaaaaa播放1| 视频小说一区二区| 3d精品h动漫啪啪一区二区| 国产成人精品123区免费视频| 欧美另类第一页| 国产视频在线看| 亚洲国产精品一区二区久| 97超碰人人草| 91久久精品国产91性色tv| 国产一级片网址| 亚洲免费资源在线播放| 国产一区二区三区四区在线| 91美女片黄在线观看91美女| 无人码人妻一区二区三区免费| 日韩不卡免费视频| 鲁一鲁一鲁一鲁一澡| 欧美成人日本| 黄频视频在线观看| 日韩一区欧美| 日韩影院一区| 国产aⅴ精品一区二区三区久久| 99久久99| 欧美1区2区3| 91老司机在线| 日韩一级特黄| 国产日韩欧美黄色| 精品三区视频| 国产精品成人一区二区| 超碰aⅴ人人做人人爽欧美| 午夜欧美大片免费观看| 国产网红在线观看| 欧美精品999| 日韩欧美一起| 欧美激情啊啊啊| 污污在线观看| 欧美激情第一页xxx| 永久免费网站在线| 欧美大胆在线视频| 欧美亚洲天堂| 久久久久久久久久久av| 欧美xxxx少妇| 久久全国免费视频| 久久男人av资源站| 茄子视频成人在线| 免费观看欧美大片| 国产成人精品视频| 78精品国产综合久久香蕉| 国产精品电影一区| 日本亚洲欧洲无免费码在线| 国产美女高潮久久白浆| 国产999精品在线观看| 亚洲精品欧美日韩专区| 婷婷视频一区二区三区| 国产伦精品一区二区三区高清版| 国产精品chinese在线观看| 国产区欧美区日韩区| 亚洲人成精品久久久 | 色哟哟网站在线观看| 国产成人一级电影| 女同性恋一区二区三区| 久久久精品免费免费| 中国1级黄色片| 亚洲欧美日韩国产手机在线 | 91福利视频导航| 久久激情av| 欧洲一区二区在线| 亚洲成人精品| 国产午夜福利在线播放| 日精品一区二区| 少妇性l交大片7724com| gogo大胆日本视频一区| 波多野结衣 在线| 日韩毛片精品高清免费| 国产在线欧美在线| 在线影视一区二区三区| 国产成人精品免费看视频| 精品国产自在久精品国产| 黄色片在线播放| 久久av中文字幕| 久久sese| 97视频热人人精品| 国产一区二区精品久| 男女h黄动漫啪啪无遮挡软件| 日韩视频中文| 91视频这里只有精品| 不卡一区二区在线| 亚洲女人毛茸茸高潮| 一区二区三区.www| 在线免费一区二区| 亚洲高清色综合| 色多多视频在线观看| 97超级碰碰碰久久久| 国产精品一站二站| 欧美在线播放一区二区| 欧美另类亚洲| 日本肉体xxxx裸体xxx免费| 成人黄页在线观看| 小嫩苞一区二区三区| 欧美日韩另类视频| 性一交一乱一伧老太| 日韩在线免费av| 性欧美xxx69hd高清| 1区1区3区4区产品乱码芒果精品| 国产伦精品一区二区三区视频| www.亚洲成人网| 精品一区二区日韩| 国产免费看av| 婷婷综合另类小说色区| 国产成人精品a视频| www.欧美免费| 欧美日韩在线精品一区二区三区激情综合 | 视频精品一区| 艳色歌舞团一区二区三区| 美女视频一区免费观看| 亚洲欧美日韩色| 亚洲乱码国产乱码精品精98午夜 | 成人性做爰片免费视频| 日本成人在线视频网站| 成人网站免费观看| 午夜精品一区二区三区免费视频 | 亚洲黄页网在线观看| h片在线播放| 成人黄色影片在线| 日韩一区二区在线免费| 爱情岛论坛亚洲首页入口章节| 国产亚洲欧洲997久久综合| 九九热精品视频在线| 亚洲国产精品久久精品怡红院| caopo在线| 亚洲综合中文字幕在线观看| 香蕉综合视频| 中文字幕第22页| 最近日韩中文字幕| 国产精品无码白浆高潮| 麻豆成人在线看| 日本一区二区乱| 成人午夜免费在线视频| 国产成人免费网站| 亚洲一区二区91| 亚洲国产精品免费| 忘忧草在线日韩www影院| 久久精品一二三区| 乱人伦精品视频在线观看| 中文字幕高清视频| 91国偷自产一区二区三区观看| 日韩精品视频无播放器在线看| 庆余年2免费日韩剧观看大牛| 麻豆一区二区麻豆免费观看| 欧美网站免费观看| 久久五月婷婷丁香社区| 天天操天天干天天摸| 中文精品99久久国产香蕉| 日本免费一区二区三区等视频| 操bbb操bbb| 成人高清av在线| 精产国品一区二区| 在线观看国产精品91| 91丨精品丨国产| 9色porny| 久久夜色精品国产欧美乱极品| 一级特黄免费视频| 日韩在线观看免费全集电视剧网站 | 日韩欧美中文字幕在线观看| 国产二区视频在线观看| 91精品久久久久久久久青青| 国模吧视频一区| 少妇按摩一区二区三区| 欧美日韩在线三区| 欧美xxxx做受欧美88bbw| 欧美大陆一区二区| 九一九一国产精品| 久久免费黄色网址| 亚洲欧美激情一区| 国产视频网站一区二区三区| 久久手机在线视频| 国产欧美日韩在线| 精品国产九九九| 国产成人91久久精品| 亚洲字幕久久| a毛片毛片av永久免费| 欧美一级午夜免费电影| 咪咪网在线视频| 综合国产精品久久久| 99视频在线精品| 91欧美日韩麻豆精品| 国产91精品青草社区| 999久久久免费精品国产| 亚洲美女在线播放| 欧美亚洲一区三区| 国产美女精品写真福利视频| 中文字幕日韩一区二区三区| www.欧美日韩| 国产男男gay体育生白袜| 国产国语videosex另类|