为什么烧瓶路径未返回“成功!”?

时间:2019-11-27 01:01:24

标签: python flask flask-wtforms

最近6个小时,我一直在坚持这一点。我为这条路线写了100多行代码,但没有用。因此,我花了最后几个小时来尝试查找错误并意识到,接收POST请求的基本功能甚至无法正常工作,而且我无法全神贯注。

因此,这是我要尝试的操作:我有一个非常基本的表单,其中包含三个字段和一个提交按钮。我想在search.html文件中显示它。转到/ search时,HTML会与字段一起完美呈现。我输入参数并提交。在过去的几个小时中,我没有收到任何错误。我只看到:127.0.0.1 - - [27/Nov/2019 01:42:52] "POST /search HTTP/1.1" 200 -

200表示已收到POST请求,对吗?但是它不会返回“成功!”。它只是再次返回search.html,好像什么都没发生。

我在这里错了什么?请帮忙,因为最后几个小时是最令人沮丧的调试会话,没有我遇到的任何错误。

routes.py:

@app.route("/search", methods=['GET', 'POST']) 
def search():
     if 'code' not in session:
         return redirect(url_for('secret'))
     if 'email' not in session:
         return redirect(url_for('login'))
     else:
        form = SearchForm()
         return render_template('search.html', form=form)
         if request.method == 'POST':
             if form.validate() == False:
                 return render_template("search.html", form=form)
             else:
                 return "Success!" 

forms.py:

class SearchForm(Form):
     place = StringField('place', validators=[DataRequired("Please enter a place.")])
     radius = IntegerField('radius', validators=[DataRequired("Please enter a number between 1 and 100000"), NumberRange(min=1, max=100000)])
     keyword = StringField('keyword', validators=[DataRequired("Please enter a keyword.")])
     submit = SubmitField("Search")

HTML:

<form method="POST" action="/search">
      {{ form.hidden_tag() }}
      {{ form.place }}
      {{ form.radius }}
      {{ form.keyword }}
      {{ form.submit }}
</form>

0 个答案:

没有答案