flask login mysql_Flask连接mysql,实现页面登录

主要代码:

from flask import Flask,request,g,session,flash,redirect,url_for,render_template

from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:12345678@localhost/mydb'

app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db = SQLAlchemy(app)

class User(db.Model):

class User(db.Model):

__tablename__ = 'user'

id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=False)

name = db.Column(db.String(20), nullable=False)

password = db.Column(db.String(30), nullable=False)

def __repr__(self):

return 'User:%s'%self.name

db.create_all()

@app.route('/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 Flask+MySQL 实现用户登录注册的代码: ``` from flask import Flask, request, session, redirect from flask_mysqldb import MySQL app = Flask(__name__) app.secret_key = 'your secret key' mysql = MySQL(app) app.config['MYSQL_HOST'] = 'localhost' app.config['MYSQL_USER'] = 'your mysql username' app.config['MYSQL_PASSWORD'] = 'your mysql password' app.config['MYSQL_DB'] = 'your mysql database' @app.route('/') def index(): if 'username' in session: return f'Hello, {session["username"]}!' else: return 'Please login first.' @app.route('/signup', methods=['GET', 'POST']) def signup(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] cur = mysql.connection.cursor() cur.execute('INSERT INTO users(username, password) VALUES (%s, %s)', (username, password)) mysql.connection.commit() cur.close() session['username'] = username return redirect('/') else: return ''' <form method="post"> <input type="text" name="username" placeholder="Username"/><br> <input type="password" name="password" placeholder="Password"/><br> <button type="submit">Signup</button> </form> ''' @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] cur = mysql.connection.cursor() cur.execute('SELECT password FROM users WHERE username = %s', [username]) password_from_db = cur.fetchone() cur.close() if password_from_db and password_from_db[0] == password: session['username'] = username return redirect('/') else: return 'Invalid username or password.' else: return ''' <form method="post"> <input type="text" name="username" placeholder="Username"/><br> <input type="password" name="password" placeholder="Password"/><br> <button type="submit">Login</button> </form> ''' if __name__ == '__main__': app.run() ``` 以上代码使用 Flask 框架和 Flask-MySQLdb 扩展实现用户注册和登录功能。用户信息保存在 MySQL 数据库中,密码使用明文存储(实际应用中应使用加密后的密码)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值