flask + wtform + google storage
项目需要使用 flask 上传、下载文件到 google storage 上,
搜了一圈没有能直接结合 wtform 使用的插件,所以动手造了个轮子。
只实现了基本的上传,下载的功能,后续可能会完善预览、权限控制等功能。
安装和使用方法参见 README --> https://github.com/FingerLiu/...
flask-wtf-storage
extend flask-wtf to support saving data to google storage
Installation
pip install flask-wtf-storage
Usage
1 首先引入我们需要的头文件
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from flask_wtf_storage import (
MultipleFileField, FileField, FileDisplayField, StorageForm
)2 然后在 form 中定义上传文件要使用的 form 及字段
class RegistrationForm(StorageForm):
website = StringField('website')
single_file_example = FileField()
multi_files_example = MultipleFileField()
submit = SubmitField('OK')这里,为了演示,我们使用了 FileField 和 MultipleFileField 两种类型的字段。 FileField 用来实现只能上传一个文件的 Input 框, MultipleFileField 用来实现能够选择多个文件的 Input 框。 3 然后在 view 中使用该 form 并传递给 template
@current_app.route('/register/', methods=['GET', 'POST'])
def register():
form = RegistrationForm()
if form.validate_on_submit():
# 存到 datastore
data = form.data
data.pop('csrf_token')
data.pop('password2')
login(data)
return redirect(url_for('profile.html'))
return render_template('register.html', form=form)4 最后像使用普通的 wtform 一样在 template 中 render form 即可。
相关推荐
夜斗不是神 2020-11-17
学习web前端 2020-11-09
waiwaiLILI 2020-11-03
raidtest 2020-10-09
myccc 2020-09-24
jzlixiao 2020-09-15
guicaizhou 2020-09-15
digwtx 2020-09-14
codetyper 2020-08-16
comwayLi 2020-08-16
MongoDB数据库 2020-08-16
cjsyrwt 2020-08-14
Tristahong 2020-08-05
csuzxm000 2020-08-02
前端开发Kingcean 2020-07-30