Dropzoneを使用してFlaskアプリにファイルをアップロードするためのリソースを作成しています。ファイルがアップロードされると、アプリはhello worldページにリダイレクトされます。これは起こっていないし、ファイルをアップロードしたビューでアプリが停止しています。私はマスターからjQuery 3.1.0とDropzoneを使用しています。アップロード後、FlaskアプリにDropzoneがリダイレクトされない
from flask import Flask, request, flash, redirect, url_for render_template)
from validator import Validator
ALLOWED_EXTENSIONS = set(['csv', 'xlsx', 'xls'])
def allowed_file(filename):
return (filename != '') and ('.' in filename) and \
(filename.split('.')[-1] in ALLOWED_EXTENSIONS)
def create_app():
app = Flask(__name__)
app.secret_key = 'super secret key'
return app
app = create_app()
@app.route('/')
def index():
return render_template('index.html')
@app.route('/world')
def hello_world():
return render_template('hello_world.html')
@app.route('/upload', methods=['POST'])
def upload():
# check that a file with valid name was uploaded
if 'file' not in request.files:
flash('No file part')
return redirect(request.url)
file = request.files['file']
if not allowed_file(file.filename):
flash('No selected file')
return redirect(request.url)
# import ipdb; ipdb.set_trace()
validator = Validator(file)
validated = validator.validate()
if validated:
flash('Success')
else:
flash('Invalid file')
return redirect(url_for('hello_world'))
if __name__ == '__main__':
app.run(debug=True)
{% extends "base.html" %}
{% block head %}
<link href="/static/css/dropzone.css" rel="stylesheet">
<script src="/static/js/dropzone.js"></script>
{% endblock %}
{% block body %}
<main>
<section>
<div id="dropzone">
<form action="upload" method="post" class="dropzone dz-clickable" id="demo-upload" multiple>
<div class="dz-message">
Drop files here or click to upload.
</div>
</form>
</div>
</section>
</main>
{% endblock %}
私の解決策を確認し、[ここ](http://stackoverflow.com/a/42250213/5511849)! –