亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

flask + wtform + google storage

Cristic / 2718人閱讀

摘要:項(xiàng)目需要使用上傳下載文件到上,搜了一圈沒有能直接結(jié)合使用的插件,所以動(dòng)手造了個(gè)輪子。只實(shí)現(xiàn)了基本的上傳,下載的功能,后續(xù)可能會(huì)完善預(yù)覽權(quán)限控制等功能。然后在中使用該并傳遞給存到最后像使用普通的一樣在中即可。

項(xiàng)目需要使用 flask 上傳、下載文件到 google storage 上,

搜了一圈沒有能直接結(jié)合 wtform 使用的插件,所以動(dòng)手造了個(gè)輪子。

只實(shí)現(xiàn)了基本的上傳,下載的功能,后續(xù)可能會(huì)完善預(yù)覽、權(quán)限控制等功能。

安裝和使用方法參見 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 用來實(shí)現(xiàn)只能上傳一個(gè)文件的 Input 框, MultipleFileField 用來實(shí)現(xiàn)能夠選擇多個(gè)文件的 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 即可。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/40957.html

相關(guān)文章

  • 使用 Flask 和 AngularJS 構(gòu)建博客 - 1

    摘要:注原文作者,原文地址為在這個(gè)教程中,我們將使用和構(gòu)建一個(gè)博客。在開發(fā)期間,這將允許我們把它們運(yùn)行在不同的端口例如和?,F(xiàn)在我們將進(jìn)入目錄并使用運(yùn)行這個(gè)腳本。示例創(chuàng)建一篇文章為了創(chuàng)建一篇文章,你需要發(fā)送一個(gè)請(qǐng)求給。 注:原文作者 John Kevin M. Basco,原文地址為 Building a blog using Flask and AngularJS Part 1 在...

    劉玉平 評(píng)論0 收藏0
  • 使用 Flask 和 AngularJS 構(gòu)建博客 - 1

    摘要:注原文作者,原文地址為在這個(gè)教程中,我們將使用和構(gòu)建一個(gè)博客。在開發(fā)期間,這將允許我們把它們運(yùn)行在不同的端口例如和?,F(xiàn)在我們將進(jìn)入目錄并使用運(yùn)行這個(gè)腳本。示例創(chuàng)建一篇文章為了創(chuàng)建一篇文章,你需要發(fā)送一個(gè)請(qǐng)求給。 注:原文作者 John Kevin M. Basco,原文地址為 Building a blog using Flask and AngularJS Part 1 在...

    lavnFan 評(píng)論0 收藏0
  • Flask Web Development —— Web表單(上)

    摘要:每個(gè)表單域都可以連接到一個(gè)或多個(gè)是一個(gè)用于檢查用戶提交的輸入是否合法的函數(shù)。表單域構(gòu)造函數(shù)的第一個(gè)參數(shù)是一個(gè),在渲染表單到時(shí)會(huì)使用。驗(yàn)證確保提交的表單域不為空。表單域驗(yàn)證都是直接從包中導(dǎo)入。表格展示了一組支持的標(biāo)準(zhǔn)表單域。 第二章中介紹的request對(duì)象公開了所有客戶端發(fā)送的請(qǐng)求信息。特別是request.form可以訪問POST請(qǐng)求提交的表單數(shù)據(jù)。 盡管Flask的request...

    CODING 評(píng)論0 收藏0
  • python大佬養(yǎng)成計(jì)劃----flask應(yīng)用(表單)

    摘要:特別是可以訪問請(qǐng)求提交的表單數(shù)據(jù)。表單的代碼生成和驗(yàn)證提交的表單數(shù)據(jù)就是兩個(gè)很好的例子。優(yōu)勢(shì)擴(kuò)展使得處理表單能獲得更愉快的體驗(yàn)。設(shè)計(jì)了表單庫來使可以更加簡便地管理操作表單數(shù)據(jù)。 1. 為什么使用Flask-WTF? request對(duì)象公開了所有客戶端發(fā)送的請(qǐng)求信息。特別是request.form可以訪問POST請(qǐng)求提交的表單數(shù)據(jù)。 盡管Flask的request對(duì)象提供的支持足以處理w...

    alighters 評(píng)論0 收藏0
  • Flask-WTF進(jìn)階和WTForms擴(kuò)展

    摘要:和都是很好用的插件,然而當(dāng)它們結(jié)合到一起后,就不是那么美妙了。當(dāng)然了寫一個(gè)完整的擴(kuò)展還是很麻煩的??梢钥垂俜綌U(kuò)展的源碼。。。 Flask-WTF和Flask-SQLAlchemy都是很好用的插件,然而當(dāng)它們結(jié)合到一起后,就不是那么美妙了。 問題的提出 在models.py中定義了一個(gè)Article、Category和Tag類: class Article(db.Model): ...

    zone 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<