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 即可。
相关推荐
zhjn0 2020-11-24
夜斗不是神 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
大秦铁骑 2020-08-19
thatway 2020-08-19
lovecodeblog 2020-08-19
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