【发布时间】:2022-01-23 12:39:48
【问题描述】:
好的! 所以,我正在为我最近开发的一个网站创建一个简单登录程序!我正在使用 Flask 来提供我的 HTML 页面模板.... 我正在使用 sqlite3 Python 模块以便于使用模块...
所以,我为我的主网站创建了一个 App Route 用于登录页面。您可以查看以下代码:
def login():
msg = ''
if request.method == 'POST' and 'username' in request.form and 'password' in request.form:
# Create variables for easy access
username = request.form['username']
password = request.form['password']
#Connection Est.
connection = sqlite3.connect("Users.db")
#cursor
USer_crsr = connection.cursor()
user_cm = """SELECT username, password FROM accounts"""
USer_crsr.execute(user_cm)
USer_result = USer_crsr.fetchall()
if username and password in USer_result:
# Create session data, we can access this data in other routes
session['loggedin'] = True
session['id'] = USer_result['id']
session['username'] = USer_result['username']
# Redirect to home page
return 'Logged in successfully!'
else:
# Account doesnt exist or username/password incorrect
msg = 'Incorrect username/password!'
return render_template("login.html", msg=msg)
我运行我的程序,我没有收到任何错误!我打开我的登录页面,页面打开时没有出现错误!这是页面外观: Login Page
但是当我提交表单时,我收到一个错误(不是在控制台中,而是在网页本身中): 405 - Method Not allowed!
另外,这是我用来创建数据库的数据库文件的代码:
#Connection to FILE
User_DATA_connection = sqlite3.connect('Users.db')
crsr = User_DATA_connection.cursor()
#command here
command = """CREATE TABLE IF NOT EXISTS 'accounts' (
'id' int(11) NOT NULL,
'username' varchar(50) NOT NULL,
'password' varchar(250) NOT NULL,
'email' varchar(100) NOT NULL,
PRIMARY KEY ('id')
)
"""
#execute
crsr.execute(command)
comm = """INSERT INTO accounts VALUES (1, 'test', 'test', 'test@gmail.com');"""
crsr.execute(comm)
User_DATA_connection.commit()
#close data
User_DATA_connection.close()
【问题讨论】:
标签: python python-3.x sqlite flask flask-login