亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在flask中使用flask-wtf驗證上傳文件

發布時間:2021-05-21 17:59:02 來源:億速云 閱讀:243 作者:Leah 欄目:開發技術

怎么在flask中使用flask-wtf驗證上傳文件?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

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

  1. 定義驗證表單類的時候,對文件類型的字段,需要采用FileField這個類型,即wtforms.FileField。

  2. 驗證器需要從flask_wtf.file中導入。flask_wtf.file.FileRequired和flask_wtf.file.FileAllowed

  3. flask_wtf.file.FileRequired是用來驗證文件上傳不能為空。

  4. flask_wtf.file.FileAllowed用來驗證上傳的文件的后綴名, 如常見圖片后綴.jpg和.png以及.gif等。

  5. 在視圖函數中,需要使用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)

關于怎么在flask中使用flask-wtf驗證上傳文件問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

闻喜县| 庆元县| 松滋市| 延边| 阜康市| 河北区| 贺兰县| 柏乡县| 育儿| 蓬溪县| 本溪| 自贡市| 斗六市| 安阳县| 天柱县| 苗栗市| 南通市| 潼关县| 灵丘县| 壶关县| 抚松县| 宁安市| 连江县| 昆山市| 行唐县| 松桃| 喜德县| 乐山市| 无锡市| 临朐县| 衡阳县| 乐清市| 嘉义市| 夹江县| 长宁区| 长子县| 全州县| 化德县| 江北区| 河津市| 砀山县|