国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 德江县| 文山县| 随州市| 罗城| 东兰县| 南岸区| 七台河市| 健康| 黄陵县| 广饶县| 霍山县| 洪湖市| 资中县| 衡南县| 阿拉善盟| 黄冈市| 蓬安县| 宜兰县| 林芝县| 天门市| 肃南| 大石桥市| 来凤县| 古丈县| 汶川县| 永仁县| 大名县| 周宁县| 西宁市| 河北省| 高雄市| 罗平县| 清水县| 个旧市| 灌云县| 澜沧| 临江市| 德惠市| 德惠市| 安平县| 平陆县|