Python Flask WTF文件字段在提交时验证失败

Python Flask WTF文件字段在提交时验证失败,python,python-3.x,csv,flask,flask-wtforms,Python,Python 3.x,Csv,Flask,Flask Wtforms,我希望能够使用Flask WTF文件字段在Flask上上传CSV文件,但无法通过提交时的验证 这是我的看法 @main.route('/upload', methods=['GET', 'POST']) def upload_products(): form = UploadForm() print (request.method) print (form.validate_on_submit()) print (form.csv.data) if fo

我希望能够使用Flask WTF文件字段在Flask上上传CSV文件,但无法通过提交时的验证

这是我的看法

@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)
这是我的表格

class UploadForm(FlaskForm):
    csv = FileField("")
这是我的
html
文件

<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>

为什么在提交时验证失败?我错过了什么吗?

通过在我的模板上添加
{{{form.hidden_tag()}
修复了这个问题

<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.hidden_tag()}}
      {{form.csv}}
      <input type="submit" value="Submit">
  </form>
</div>

你好上传文件在这里!
{{form.hidden_tag()}}
{{form.csv}

通过在我的模板上添加
{{form.hidden_tag()}
修复了此问题

<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.hidden_tag()}}
      {{form.csv}}
      <input type="submit" value="Submit">
  </form>
</div>

你好上传文件在这里!
{{form.hidden_tag()}}
{{form.csv}

我想这是CSRF的问题。你能打印出
表格错误吗?应该说“CSRF令牌丢失”。如果是这样,请检查以下答案:您是对的,错误是缺少CSRF令牌。
我想这是CSRF问题。你能打印出
表格错误吗?应该说“CSRF令牌丢失”。如果是这样,请检查以下答案:您是对的,错误是缺少CSRF令牌。