我在检查用户名和密码后遇到路由到网页的问题,如果我输入一个长用户名和密码,它会说:"列表索引超出范围"。在我的数据库中,只有一个用户(我手动创建的管理员用户)。我正在努力只研究它,在它工作之后,我将进行注册。
这是转发到登录页面的代码:
@app.route('/login', methods=['GET', 'POST'])
def login():
return render_template("login.html")
这是检查登录凭据的代码:
@app.route('/logincheck', methods=['GET', 'POST'])
def logincheck():
error = None
checkP = g.db.execute('select pword from users where uname = ?', (request.form['username'], ))
arrayCheck = checkP.fetchall()
if request.method == 'POST':
if request.form['password'] != arrayCheck[[0][0]]:
error = 'Username or password is incorrect'
return redirect(url_for('login'))
if len(arrayCheck) == 0:
error = 'Username or password is incorrect'
return redirect(url_for('login'))
else:
session['logged_in'] = True
flash('You are logged in')
return redirect(url_for('userpage'))
return render_template('login.html')
在html文件" login.html"我有一个转发到/ logincheck和logincheck转发到用户页面的表单,这是网站本身。