【发布时间】:2021-07-02 19:45:10
【问题描述】:
我想在函数外部从if-block 访问几个变量
例如:我想使用signin,user
@app.route('/signup', methods=['GET', 'POST'])
def register():
form1 = Signup()
if form1.validate_on_submit():
signin = auth_py.create_user_with_email_and_password(form1.email_address.data, form1.password.data)
user = auth_py.send_email_verification(signin['idToken']) # for email verification
name = form1.name.data
username = form1.username.data
email_address = form1.email_address.data
return redirect(url_for('home_page'))
if form1.errors != {}: # if no errors occur from validators
for err_msg in form1.errors.values():
print(f'there was an error creating the user {err_msg}')
database(username, name, email_address) # problem is here
return render_template('sign-up.html', form1=form1)
我想在database() 中使用form1.validate_on_submit() 中的name、username 和email_address,但我不知道该怎么做。
注意:主程序中还有一些代码尚未编写,因此我无法在
form1.validate_on_submit()中调用database()函数
【问题讨论】:
-
如果
form1.validate_on_submit()返回False,您希望name、username和email_address的值是多少? -
@jamesdlin 我希望值为
None -
在这种情况下,变量根本不存在。解决此问题的一种方法是将这些变量初始化为函数顶部的
None。
标签: python python-3.x flask