健康之路糖尿病,识字八,九六中文网
利用flask-wtf验证上传的文件
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)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论