Python Flask与SQLAlchemy实现前端数据插入
本文介绍如何使用Python Flask框架结合SQLAlchemy库,通过前端HTML页面实现数据向MySQL数据库的插入操作。文章包含后端main.py配置与路由逻辑,以及前端mysql.html表单设计,展示了从用户输入到数据库存储的完整流程,并包含处理重复数据的提示机制。
1.实验效果


若尝试插入已存在于数据库中的数据,系统将显示相应的提示信息。

检查数据库表内容,确认新数据已成功存入数据库表中。

2.主main.py文件
import os
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import String,Integer,create_engine,Column
from flask import Flask,render_template,redirect,request,url_for,abort,jsonify
app=Flask(__name__)
class Config:
"""相关配置"""
# cmd:
# 创建数据库:create database flaskdb(数据库名) default charset(类型) utf8;
# 使用数据:use flaskdb
# 查看数据库表:show tables;
SQLALCHEMY_DATABASE_URI='mysql+pymysql://root:root@127.0.0.1:3306/flaskdb'
SQLALCHEMY_TRACK_MODIFICATIONS=True
app.config.from_object(Config)
#创建数据库
mysql=SQLAlchemy(app)
#创建表
class Moster(mysql.Model):
"""管理员表名"""
__tablename__='moster'
username=Column(String(128),primary_key=True)
password=Column(String(128),unique=True)
@app.route('/<string:username>/<string:password>',methods=['POST','GET'])
def Insert_User(username,password):
#判断数据库表中是否已经存在了此用户,如果存在,则不进行插入数据
data=Moster.query.filter(Moster.username==username).all()
if data==[]:
# 创建对象,进行数据的插入
mos = Moster(username=username, password=password)
# 创建session
mysql.session.add(mos)
mysql.session.commit()
# 关闭数据库
mysql.session.close()
return jsonify('Add the data Successed!')
else:
return jsonify('The data have been existed!')
@app.route('/index',methods=['POST','GET'])
def index():
if request.method=='POST':
username=request.form.get('username')
password=request.form.get('password')
return redirect(url_for('Insert_User',username=username,password=password))
return render_template('mysql.html')
if __name__ == '__main__':
print('Pycharm')
# 对数据库进行清除,让数据库是“干净的”
# mysql.drop_all()
# 创建表
mysql.create_all()
app.run(debug=True)
3.前端mysql.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>MySQL</title>
<style>
div {
width:250px;
height:100px;
margin:auto;
margin-top:200px;
font-size:15px;
font-weight:700;
border:2px solid #000000;
background:#FFFFFF;
}
div form input {
margin-top:10px;
}
.btn{
margin-left:100px;
cursor:pointer;
}
</style>
</head>
<body>
<div>
<form action="http://127.0.0.1:5000/index" method="POST">
<label>账号: </label>
<input type="text" name="username"><br>
<label>密码: </label>
<input type="password" name="password"><br>
<input class="btn" type="submit" name="submit" value="提交"><br>
</form>
</div>
</body>
</html>至此,关于利用前端页面通过SQLAlchemy插入数据的介绍完毕。如需了解更多SQLAlchemy插入数据相关内容,建议查阅本站过往文章或继续阅读后续文章。感谢大家的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









