【问题标题】:Python beginner question - trying to understand return statementPython初学者问题 - 试图理解return语句
【发布时间】:2011-03-30 14:34:05
【问题描述】:

基本上我想在注册函数中返回 create_user 的内容以用于保存到我的数据库。我是一个完整的初学者。我误会了什么?

def register():
    form = SignupForm(request.form)
    if request.method == 'POST' and form.validate():
    create_user = ({'username' : form.username.data, 'email' : form.email.data,
                        'password': form.password.data})
    flash('Thanks for registering')
    return create_user, redirect(url_for('loggedin.html'))
return render_template('get-started.html', form=form)

create_user = register()
doc_id, doc_rev = db.save(create_user)

【问题讨论】:

  • 我对您的第二份退货声明感到困惑。 :s 它没有缩进,如果是,它永远不会被执行。 :s

标签: python flask return


【解决方案1】:

你记得导入请求吗?不确定您使用的是什么,但对我来说它看起来像 Flask,如果是这样,它就是“来自烧瓶导入请求”。

【讨论】:

    【解决方案2】:

    我认为您在某处丢失了一些格式。第一个 return 语句应该缩进足够远以至于它在 if 块内,第二个 return 语句应该与 if 块对齐。如果验证成功则返回元组create_user, redirect(url_for('loggedin.html')),否则返回render_template('get-started.html', form=form)

    【讨论】:

      【解决方案3】:

      你的缩进是错误的;你想要的:

      def register():
          form = SignupForm(request.form)
          if request.method == 'POST' and form.validate():
              create_user = ({'username' : form.username.data, 'email' : form.email.data,
                                  'password': form.password.data})
              flash('Thanks for registering')
              return create_user, redirect(url_for('loggedin.html'))
          return render_template('get-started.html', form=form)
      

      缩进描述代码块。您需要在函数内缩进 everything 以表明它是与该函数相对应的代码,以及 if 内的所有内容。你还没有缩进if

      【讨论】:

        猜你喜欢
        • 2019-10-31
        • 1970-01-01
        • 2013-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-14
        • 2023-03-17
        • 2011-08-17
        相关资源
        最近更新 更多