我可以帮助您翻译关于IT技术的内容,以下是需要翻译的文字:
被转发到的页面只是简单的HTML,没有什么特别的,所以我不会上传它。 如果你觉得需要更多信息才能理解,请问一声,我会快速回复。 感谢所有帮助过我的人。
编辑1: 在login.html中,将表单操作从“login.html”更改为“login”,现在会出现400 Bad Request错误。
编辑2: 重定向有效。 我已更改了登录代码,但它出现了此错误:“ProgrammingError:SQLite对象只能在同一线程中使用。该对象在线程id 7812中创建,而这是线程id 7388”。我所做的唯一事情就是像这样连接到数据库: conn = sqlite3.connect('database.db') 这是新的登录代码:
我需要在我的网站上进行用户认证。我正在使用Python Flask,SQLite3和DB Browser for SQLite。我在登录部分遇到了麻烦。每次我尝试登录并重定向到一个HTML网站时,它都会显示错误404。
以下是登录页面的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset = "UTF-8"/>
<title>PackageDrop Login</title>
<link type = "text/css" rel = "stylesheet" href="{{ url_for('static', filename='login.css') }}" />
<link type = "text/css" rel = "stylesheet" href="{{ url_for('static', filename='cssmainpage.css') }}" />
</head>
<body>
<form action="/login" method="POST" autocomplete="off">
Username:<br>
<input type="text" name="username">
<br>
Password:<br>
<input type="password" name="password">
<br><br>
<input type="submit" value="Login">
</body>
</html>
被转发到的页面只是简单的HTML,没有什么特别的,所以我不会上传它。 如果你觉得需要更多信息才能理解,请问一声,我会快速回复。 感谢所有帮助过我的人。
编辑1: 在login.html中,将表单操作从“login.html”更改为“login”,现在会出现400 Bad Request错误。
编辑2: 重定向有效。 我已更改了登录代码,但它出现了此错误:“ProgrammingError:SQLite对象只能在同一线程中使用。该对象在线程id 7812中创建,而这是线程id 7388”。我所做的唯一事情就是像这样连接到数据库: conn = sqlite3.connect('database.db') 这是新的登录代码:
@app.route('/login', methods=['GET', 'POST'])
def login():
error = None
checkP = conn.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 = 'Incorrect password'
return redirect(url_for('login.html'))
elif len(arrayCheck) == 0:
error = 'Username or password is incorrect'
return redirect(url_for('login.html'))
else:
session['logged_in'] = True
flash('You are logged in')
return redirect(url_for("userpage"))
return render_template('login.html')
request.form
中获取用户名,然后直接将其与request.form['username']
即本身进行比较。 - Daniel Roseman