国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 幫助中心 > 正文

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

2024-07-09 22:43:08
字體:
來源:轉載
供稿:網友

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

定義驗證表單類的時候,對文件類型的字段,需要采用FileField這個類型,即wtforms.FileField。 驗證器需要從flask_wtf.file中導入。flask_wtf.file.FileRequired和flask_wtf.file.FileAllowed flask_wtf.file.FileRequired是用來驗證文件上傳不能為空。 flask_wtf.file.FileAllowed用來驗證上傳的文件的后綴名, 如常見圖片后綴.jpg和.png以及.gif等。 在視圖函數中,需要使用from werkzeug.datastructures import CombinedMultiDict來把request.form與request.files來進行合并。 最后使用 表單驗證對象.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 InputRequiredfrom 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)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網之家。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蓬溪县| 建湖县| 洱源县| 东城区| 手游| 福安市| 镇赉县| 霍林郭勒市| 岐山县| 静乐县| 新巴尔虎左旗| 北海市| 平定县| 寻乌县| 丰城市| 黔西| 图木舒克市| 秭归县| 准格尔旗| 攀枝花市| 三门峡市| 卫辉市| 绥德县| 林州市| 丁青县| 鹤岗市| 龙岩市| 长寿区| 英超| 彩票| 镇坪县| 罗江县| 阳春市| 铅山县| 汶川县| 绥芬河市| 永仁县| 长白| 绥中县| 钟祥市| 嘉禾县|