【问题标题】:ValueError, even if the logic is the same with other codes [duplicate]ValueError,即使逻辑与其他代码相同[重复]
【发布时间】:2017-10-02 01:01:00
【问题描述】:

我对视图函数有疑问。我的其他代码正常工作并且具有相同的结构或逻辑。我只是想知道为什么在这种情况下,当逻辑与其余部分相同时它不起作用,而其余部分正常工作,这个却出现错误。

# ########### POST answers ###############################
        if request.method == 'POST':
            if form.validate_on_submit():
                answer = request.form['answer_text']
                name = form.name.data
                subject = request.form['hidden_sub']
                flash('Homework posted for ' + str(subject) + "!")
                try:
                    cur = mysql.connection.cursor()
                    sql = '''INSERT INTO answers (email, school, name, answer, subject) 
                            VALUES (%s, %s, %s, %s, %s)'''
                    cur.execute(sql, (session['user'], session['school'], name, answer, subject))
                    mysql.connection.commit()
                finally:
                    cur = mysql.connection.cursor()
                    cur.close()
                    return render_template('s_homework.html', user=session['user'], school=session['school'],
                                       classes=classes, infos=infos, info_size=info_size, form=form)


HTML FORM:
    <form method="POST" action="/s_homework/{{user}}/{{school}}/">
           <input type="text" value="{{sub}}" style="visibility:hidden;" name="hidden_sub">
           {{ wtf.form_field(form.name) }}
           <label> Answer Form*</label>
           <textarea class="form-control" name="answer_text" style="height:10em;"></textarea>
           <p> </p>
           {{ wtf.form_field(form.submit, class="btn btn-success",
             style="position:relative; left:88%;") }}
</form>

【问题讨论】:

  • 你能粘贴你得到的确切 ValueError 吗?
  • ValueError ValueError: View 函数没有返回响应
  • 感谢艾莉亚的回复!
  • 您也可以更新问题中的代码,而不是在评论中添加它吗?
  • 感谢您的帮助,我刚刚将错误更新到页面中。

标签: python flask return response valueerror


【解决方案1】:

问题一定是你有退货的情况

    if form.validate_on_submit():

但不是“其他”情况的退货(未涵盖)。使用烧瓶功能,您总是需要返回一些东西。您应该返回模板,但会显示“您的表单出错”。您的表单也可能有问题,但我无法从代码中看出这一点。

【讨论】:

  • 它成功了,仔细检查了表格并且缺少 CSRF。非常感谢!
  • 你应该还有一些“其他”的东西
猜你喜欢
  • 1970-01-01
  • 2020-12-31
  • 1970-01-01
  • 2021-04-13
  • 2016-10-05
  • 2020-08-13
  • 2020-05-17
  • 1970-01-01
  • 2013-01-12
相关资源
最近更新 更多