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

首頁 > 編程 > Python > 正文

flask入門之文件上傳與郵件發(fā)送示例

2020-02-15 22:27:05
字體:
供稿:網(wǎng)友

文件上傳郵件發(fā)送

一、原生文件上傳

form.html

  <img src="{{ url_for('static',filename='img/17.jpg') }}" width="300" alt="">  <form action="" method="post" enctype="multipart/form-data">    <p>修改頭像 <input type="file" name="file"></p>    <p><input type="submit" value="提交"></p>  </form>

manage.py

#文件上傳的視圖函數(shù)@app.route('/upload/',methods=['GET','POST'])def icon():  img_name = None  if request.method == 'POST' and 'file' in request.files:    # return '有文件上傳了'    file = request.files.get('file')    filename = file.filename #拿到文件名稱    #圖片上傳保存的路徑    imgPath = os.path.join(os.getcwd(), 'static/upload/'+filename)    file.save(imgPath)    img_name = filename  return render_template('user/change_icon.html',img_name=img_name)

使用wtf和bootstrap渲染文件上傳

from flask import Flask,render_template,requestfrom flask_script import Managerfrom flask_wtf import FlaskFormfrom flask_wtf.file import FileField,FileAllowed,FileRequiredfrom wtforms import SubmitFieldfrom flask_uploads import UploadSet,patch_request_class,configure_uploads,IMAGESfrom flask_bootstrap import Bootstrapimport osfrom PIL import Imageapp = Flask(__name__)app.config['MAX_CONTENT_LENGTH'] = 1024*1024*64app.config['SECRET_KEY'] = 'abcdef'app.config['UPLOADED_PHOTOS_DEST'] = os.path.join(os.getcwd(),'static/upload')bootstrap = Bootstrap(app)file = UploadSet('photos',IMAGES)configure_uploads(app,file)patch_request_class(app,size=None)manager = Manager(app)#自定義一個文件上傳的表單類class File(FlaskForm):  photos = FileField('修改頭像',validators=[FileRequired(message='文件不能為空'),FileAllowed(file,message='該文件類型不允許上傳')])  submit = SubmitField('提交')@app.route('/')def index():  return render_template('index.html')#生成隨機的圖片名稱def random_name(suffix,length=32):  import string,random  myStr = string.ascii_letters + '0123456789'  return ''.join(random.choice(myStr) for i in range(length))+suffix@app.route('/upload/',methods=['GET','POST'])def icon():  form = File()  img_url = None  if form.validate_on_submit():    data = request.files.get('photos')    suffix = os.path.splitext(data.filename)[-1]    newName = random_name(suffix)    file.save(data,name=newName)    img_url = file.url(newName)    img = Image.open(os.path.join(app.config['UPLOADED_PHOTOS_DEST'],newName))    print(img.size) # 獲取圖片大小    # 設(shè)置尺寸    img.thumbnail((128, 128)) # 當前縮放不是等比縮放 變成等比縮放    img.save(os.path.join(app.config['UPLOADED_PHOTOS_DEST'],'s_'+newName))  return render_template('user/wtf-uplods.html',form=form,img_url=img_url)if __name__ == '__main__':  manager.run()

模板中的代碼

from flask import Flask,render_template,requestfrom flask_script import Managerfrom flask_wtf import FlaskFormfrom flask_wtf.file import FileField,FileAllowed,FileRequiredfrom wtforms import SubmitFieldfrom flask_uploads import UploadSet,patch_request_class,configure_uploads,IMAGESfrom flask_bootstrap import Bootstrapimport osfrom PIL import Imageapp = Flask(__name__)app.config['MAX_CONTENT_LENGTH'] = 1024*1024*64app.config['SECRET_KEY'] = 'abcdef'app.config['UPLOADED_PHOTOS_DEST'] = os.path.join(os.getcwd(),'static/upload')bootstrap = Bootstrap(app)file = UploadSet('photos',IMAGES)configure_uploads(app,file)patch_request_class(app,size=None)manager = Manager(app)#自定義一個文件上傳的表單類class File(FlaskForm):  photos = FileField('修改頭像',validators=[FileRequired(message='文件不能為空'),FileAllowed(file,message='該文件類型不允許上傳')])  submit = SubmitField('提交')@app.route('/')def index():  return render_template('index.html')#生成隨機的圖片名稱def random_name(suffix,length=32):  import string,random  myStr = string.ascii_letters + '0123456789'  return ''.join(random.choice(myStr) for i in range(length))+suffix@app.route('/upload/',methods=['GET','POST'])def icon():  form = File()  img_url = None  if form.validate_on_submit():    data = request.files.get('photos')    suffix = os.path.splitext(data.filename)[-1]    newName = random_name(suffix)    file.save(data,name=newName)    img_url = file.url(newName)    img = Image.open(os.path.join(app.config['UPLOADED_PHOTOS_DEST'],newName))    print(img.size) # 獲取圖片大小    # 設(shè)置尺寸    img.thumbnail((128, 128)) # 當前縮放不是等比縮放 變成等比縮放    img.save(os.path.join(app.config['UPLOADED_PHOTOS_DEST'],'s_'+newName))  return render_template('user/wtf-uplods.html',form=form,img_url=img_url)if __name__ == '__main__':  manager.run()            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 长阳| 天津市| 苏尼特左旗| 莱芜市| 岚皋县| 织金县| 德钦县| 双牌县| 姚安县| 浦东新区| 广元市| 海南省| 墨竹工卡县| 潜山县| 开封市| 石城县| 横峰县| 富阳市| 临江市| 法库县| 鸡西市| 兰州市| 虞城县| 辉南县| 开平市| 寻甸| 离岛区| 颍上县| 西乡县| 运城市| 泰来县| 长岛县| 商城县| 永城市| 洛宁县| 囊谦县| 余江县| 衡南县| 凌海市| 宁陵县| 淮阳县|