最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

flask利用flask-wtf驗證上傳的文件的方法

 更新時間:2020年01月17日 11:04:44   作者:Python''sGod  
這篇文章主要介紹了flask利用flask-wtf驗證上傳的文件的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

利用flask-wtf驗證上傳的文件

  1. 定義驗證表單類的時候,對文件類型的字段,需要采用FileField這個類型,即wtforms.FileField。
  2. 驗證器需要從flask_wtf.file中導(dǎo)入。flask_wtf.file.FileRequired和flask_wtf.file.FileAllowed
  3. flask_wtf.file.FileRequired是用來驗證文件上傳不能為空。
  4. flask_wtf.file.FileAllowed用來驗證上傳的文件的后綴名, 如常見圖片后綴.jpg和.png以及.gif等。
  5. 在視圖函數(shù)中,需要使用from werkzeug.datastructures import CombinedMultiDict來把request.form與request.files來進行合并。
  6. 最后使用 表單驗證對象.validate()進行驗證。

upload.html文件:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="UTF-8"> 
<title>上傳文件</title> 
</head> 
<body> 
 <form action="" method="post" enctype="multipart/form-data"> 
 <table> 
 <tr> 
 <td>頭像:</td> 
 <td><input type="file" name="pichead"></td> 
 </tr> 
 <tr> 
 <td>描述:</td> 
 <td><input type="text" name="desc"></td> 
 </tr> 
 <tr> 
 <td></td> 
 <td><input type="submit" value="提交"></td> 
 </tr> 
 </table> 
 </form> 
</body> 
</html>

formscheck.py文件:

from wtforms import Form,FileField,StringField 
from wtforms.validators import InputRequired
from flask_wtf.file import FileRequired,FileAllowed 

class UploadForm(Form): 
 pichead = FileField(validators=[FileRequired(),FileAllowed(['jpg','png','gif'])])
 desc = StringField(validators=[InputRequired()])

python啟動文件:

from flask import Flask,request,render_template 
import os 
from werkzeug.utils import secure_filename 
from formscheck import UploadForm 
from werkzeug.datastructures import CombinedMultiDict 

app = Flask(__name__) 

UPLOAD_PATH = os.path.join(os.path.dirname(__file__),'images') 

#利用flask-wtf驗證上傳的文件 
@app.route('/upload/',methods=['GET','POST']) 
def upload(): 
 if request.method == 'GET': 
 return render_template('upload.html') 
 else: 
 form = UploadForm(CombinedMultiDict([request.form,request.files])) 
 if form.validate(): 
  # desc = request.form.get("desc") 
  # pichead = request.files.get("pichead") 
  desc = form.desc.data 
  pichead = form.pichead.data 
  filename = secure_filename(pichead.filename)
  pichead.save(os.path.join(UPLOAD_PATH,filename)) 
  print(desc) 
  return '文件上傳成功' 
 else: 
  print(form.errors) 
  return "文件上傳失敗" 

if __name__ == '__main__': 
 app.run(debug=True)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python3使用print打印帶顏色的字符串代碼實例

    python3使用print打印帶顏色的字符串代碼實例

    這篇文章主要介紹了python3使用print打印帶顏色的字符串代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 獲取python運行輸出的數(shù)據(jù)并解析存為dataFrame實例

    獲取python運行輸出的數(shù)據(jù)并解析存為dataFrame實例

    這篇文章主要介紹了獲取python運行輸出的數(shù)據(jù)并解析存為dataFrame實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python PyQt5/Pyside2 按鈕右擊菜單實例代碼

    python PyQt5/Pyside2 按鈕右擊菜單實例代碼

    本文通過實例代碼給大家介紹了python PyQt5/Pyside2 按鈕右擊菜單,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-08-08
  • Python如何使用input函數(shù)獲取輸入

    Python如何使用input函數(shù)獲取輸入

    這篇文章主要介紹了Python如何使用input函數(shù)獲取輸入,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • 一篇文章徹底弄懂Python中的if?__name__?==?__main__

    一篇文章徹底弄懂Python中的if?__name__?==?__main__

    在Python當(dāng)中如果代碼寫得規(guī)范一些,通常會寫上一句if '__name__'=='__main__:'作為程序的入口,下面這篇文章主要給大家介紹了關(guān)于如何通過一篇文章徹底弄懂Python中的if?__name__?==?__main__的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • python機器人運動范圍問題的解答

    python機器人運動范圍問題的解答

    這篇文章主要為大家詳細解答了python機器人的運動范圍問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 學(xué)會這個炫酷圖表利器pyecharts,還怕不被公司重用?

    學(xué)會這個炫酷圖表利器pyecharts,還怕不被公司重用?

    前段時間,公司高層要看上半年度項目組業(yè)績數(shù)據(jù)分析,沒辦法,硬著頭皮也要上!說到數(shù)據(jù)分析,肯定離不開數(shù)據(jù)的可視化,畢竟圖表比冷冰冰的數(shù)字更加直觀,Boss只想一眼就能看出趨勢和結(jié)論.今天我們就聊一聊 pyecharts 中幾種常用的圖表, ,需要的朋友可以參考下
    2021-06-06
  • python控制臺實現(xiàn)tab補全和清屏的例子

    python控制臺實現(xiàn)tab補全和清屏的例子

    今天小編就為大家分享一篇python控制臺實現(xiàn)tab補全和清屏的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 簡單的連接MySQL與Python的Bottle框架的方法

    簡單的連接MySQL與Python的Bottle框架的方法

    這篇文章主要介紹了簡單的連接MySQL與Python的Bottle框架的方法,主要基于mysql-connector插件,需要的朋友可以參考下
    2015-04-04
  • centos6.8安裝python3.7無法import _ssl的解決方法

    centos6.8安裝python3.7無法import _ssl的解決方法

    這篇文章主要介紹了centos6.8安裝python3.7無法import _ssl的解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09

最新評論

北安市| 左权县| 社旗县| 固安县| 富阳市| 马边| 宝山区| 正阳县| 攀枝花市| 宜宾县| 惠水县| 牟定县| 名山县| 香河县| 诏安县| 永寿县| 灵石县| 肥西县| 铁岭市| 湘潭县| 尚义县| 邵阳市| 莱芜市| 石家庄市| 阿拉尔市| 蒙城县| 荣成市| 临安市| 康保县| 兴国县| 宁阳县| 屯门区| 当雄县| 方城县| 大邑县| 广德县| 体育| 阿克陶县| 汉阴县| 海丰县| 武胜县|