首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flask的错误-WTF,Flask

Flask的错误-WTF,Flask
EN

Stack Overflow用户
提问于 2019-07-19 00:48:28
回答 1查看 125关注 0票数 0

在过去的一周左右的时间里,我一直在创建一个Flask应用程序,但似乎什么都没有起作用。目标是基于要在表单中提交的一组参数创建一个Pandas Dataframe。

在前端,一切似乎都很正常,至少在主页上是这样。然而,似乎每当我尝试1)实际创建基于参数的数据帧(这是用my_function完成的)时,以及2)每当我尝试转到网页的/downloads部分时,似乎都会出现错误。

我拥有的所有代码都包含在下面,包括这两个模板。这里/downloads页面的主要目的只是打印一条消息,说明在主页"/"中创建的函数已经完成了创建新DataFrame的工作。

我已经尝试了很多方法,包括对if request.methods=='POST"使用更基本的方法,但似乎都不起作用。任何帮助都将不胜感激。谢谢!

代码语言:javascript
复制
from flask import Flask, render_template, Response, request, redirect, url_for
from flask_bootstrap import Bootstrap
from flask_wtf import FlaskForm
from wtforms import FileField, StringField, IntegerField, SubmitField
from wtforms.validators import DataRequired
from my_script import my_function

app = Flask(__name__)
bootstrap = Bootstrap(app)

### setting configuration for WTF extension
app.config['SECRET_KEY'] = 'my secret key'

class FileUploadForm(FlaskForm):
    file_uploaded = FileField('Upload a file here:', validators=[DataRequired()])
    int_param = IntegerField('Enter number:', default=12, validators=[DataRequired()])
    param1 = StringField('Enter param1:', validators=[DataRequired()])
    param2 = StringField('Enter param2:', validators)
    submit = SubmitField('Download File')

### main page: contains the fields we need
@app.route('/', methods=['GET', 'POST'])
def index():
    form = FileUploadForm()

    if form.validate_on_submit():
        my_function(form.file_uploaded.data, form.int_param.data, form.param1.data,
                       form.param2.data)
        return render_template('download.html')

    return render_template('index_sys.html', form=form)

@app.route('/downloads', methods=['GET', 'POST'])
def downloads():
    return render_template('download.html')

index_sys.html:

代码语言:javascript
复制
{% extends "base_sys.html" %}
{% import "bootstrap/wtf.html" as wtf %}

{% block title %}Title{% endblock %}

{% block page_content %}
Fill out the fields below.
<br><br>
{{ wtf.quick_form(form, action='/downloads') }}

{% endblock %}

download.html:

代码语言:javascript
复制
{% extends "base_sys.html" %}
{% import "bootstrap/wtf.html" as wtf %}

{% block title %}Title{% endblock %}

{% block page_content %}
<h2>File downloaded successfully</h2>
{% endblock %}
EN

回答 1

Stack Overflow用户

发布于 2019-12-30 04:42:41

请参阅本教程:https://www.tutorialspoint.com/flask/flask_file_uploading.htm

确保设置了enctype = "multipart/form-data"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57099297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档