0
Flask-WTF FileFieldを使用してFlaskにCSVファイルをアップロードできますが、validate_on_submit
を渡すことはできません。Flask-WTF FileFieldはvalidate_on_submitで失敗します
これは私の見解です。
@main.route('/upload', methods=['GET', 'POST'])
def upload_products():
form = UploadForm()
print (request.method)
print (form.validate_on_submit())
print (form.csv.data)
if form.validate_on_submit():
print ('valid on submit')
f = form.csv.data
print (f)
return redirect(url_for('upload_products'))
return render_template('upload.html', form=form)
これは、これは私のhtml
ファイルである私のフォーム
class UploadForm(FlaskForm):
csv = FileField("")
です。 validate_on_submit
上
<div class="container">
<h1 class="my-4">Hello! Upload files here!</h1>
</div>
<div class="container" >
<form action="{{ url_for('main.upload_products') }}" method="post" enctype="multipart/form-data">
{{form.csv}}
<input type="submit" value="Submit">
</form>
</div>
、私はいつもFalse
値を受け付けております。 は私もform.csv.data
をプリントアウトし、これは私が得た結果である:
<FileStorage: '12347.csv' ('application/vnd.ms-excel')>
は、なぜそれがvalidate_on_submit
に失敗していますか?私は何か見落としてますか?
私はCSRFの問題だと思います。あなたは 'form.errors'を印刷できますか?それは "CSRFトークンがない"と言うべきです。もしそうなら、この答えをチェックしてください:https://stackoverflow.com/a/21501593/2644759 –
あなたは正しいです、エラーは 'CSRFトークンがありません.' – essramos