帮我通过FLASK完善下面代码让我可以链接数据库检查是否可以正确登录function login() { var username = document.getElementById('username').value; var password = document.getElementById('password').value; if (username == "" || password == "") { alert("请输入账号和密码!"); } else { alert("登录成功!"); window.location.href = "/"; // 返回主页的链接地址 } }
时间: 2024-02-19 08:58:31 浏览: 97
好的,以下是通过 Flask 完善代码的步骤:
1. 首先,在 Python 中导入 Flask 和 flask_sqlalchemy:
```
from flask import Flask, render_template, request
from flask_sqlalchemy import SQLAlchemy
```
2. 创建 Flask 应用程序实例和数据库实例:
```
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/dbname' # 指定数据库连接地址
db = SQLAlchemy(app)
```
3. 创建 User 模型类,用于映射数据库中的用户表:
```
class User(db.Model):
__tablename__ = 'user'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(20), unique=True, nullable=False)
password = db.Column(db.String(20), nullable=False)
```
4. 修改 login() 函数,将输入的用户名和密码与数据库中的用户信息进行比对:
```
def login():
username = request.form['username']
password = request.form['password']
user = User.query.filter_by(username=username, password=password).first()
if user:
# 如果用户存在,跳转到主页
return redirect(url_for('index'))
else:
# 如果用户不存在,返回登录页面并提示错误信息
flash('账号或密码错误,请重新输入!')
return redirect(url_for('login_page'))
```
5. 在 Flask 中编写路由函数,用于处理登录页面和主页的请求:
```
@app.route('/')
def index():
return render_template('index.html')
@app.route('/login', methods=['GET', 'POST'])
def login_page():
if request.method == 'POST':
return login()
else:
return render_template('login.html')
```
6. 最后,在 HTML 文件中修改登录表单,将表单的 method 属性设置为 POST,并添加用户名和密码的输入框:
```
<form action="/login" method="POST">
<input type="text" name="username" placeholder="请输入用户名"><br>
<input type="password" name="password" placeholder="请输入密码"><br>
<input type="submit" value="登录">
</form>
```
通过以上步骤,您就可以在 Flask 中连接数据库,并检查用户输入的账号和密码是否正确。
阅读全文