flask框架数据库增删改查

from  flask import Flask
import  os
from flask_sqlalchemy import SQLAlchemy
import   pymysql
app=Flask(__name__)#__name__当前文件
BASE_DIR=os.path.abspath(os.path.dirname(__file__))#路径abspath绝对路径abspath;dirname目录名dirname,dirname
#BASE_DIR=当前文件的绝对路径 #base基础base;dir目录dir;base_dir基础目录base_dir;base_dir基础目录base_dir
app.config["SQLALCHEMY_DATABASE_URI"]="mysql+pymysql://root:root@127.0.0.1:3306/student"
#app.config['SQLALCHEMY_DATABASE_URI']="sqlite:///"+os.path.join(BASE_DIR,"Demo.sqlite")#demo演示demo;数据库指向自带的sqlite数据库
#config配置,布局;config,config配置config#sqlite,django和flask自带的数据库sqlite一个轻量级的数据库sqlite
#databases数据库databases;sqlalchemy功能,关系,外键关联,中进行关联查询sqlalchemy,sqlalchemy
#URI统一资源匹配符;配置数据连接的参数#app.config返回类字典对象,里面用来存放当前app的配置
app.config["SQLALCHEMY_COMMIT_TEARDOWN"]=True#teardown拆卸,待拆房屋,teardown,teardown
#commit把...交托给commit把...交托给commit commit
#sqlalchem
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你解答这个问题。首先,我们需要使用Flask中的SQLAlchemy来操作数据库。SQLAlchemy是一个Python ORM框架,它提供了高级的抽象层,使得我们可以使用Python对象来操作数据库,而不需要直接编写SQL语句。 接下来,我们需要在前端展示数据。这可以通过使用Flask中的模板引擎来完成。Flask提供了Jinja2模板引擎,它可以将数据渲染到HTML页面中,使得我们可以在浏览器中展示数据。 下面是一个简单的示例程序,展示如何在Flask中进行数据库增删改查,并使用模板引擎展示数据: ```python from flask import Flask, render_template, request from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///example.sqlite" db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50)) email = db.Column(db.String(50)) @app.route("/") def index(): # 查询所有用户 users = User.query.all() return render_template("index.html", users=users) @app.route("/add_user", methods=["POST"]) def add_user(): # 添加用户 name = request.form["name"] email = request.form["email"] user = User(name=name, email=email) db.session.add(user) db.session.commit() return "User added successfully!" @app.route("/delete_user/<int:user_id>") def delete_user(user_id): # 删除用户 user = User.query.get(user_id) db.session.delete(user) db.session.commit() return "User deleted successfully!" @app.route("/edit_user/<int:user_id>", methods=["GET", "POST"]) def edit_user(user_id): # 编辑用户 user = User.query.get(user_id) if request.method == "POST": user.name = request.form["name"] user.email = request.form["email"] db.session.commit() return "User updated successfully!" else: return render_template("edit_user.html", user=user) if __name__ == "__main__": app.run(debug=True) ``` 在这个示例程序中,我们首先定义了一个User模型,它对应了数据库中的一个用户表。然后,我们定义了四个路由函数: - index函数用于展示所有用户。 - add_user函数用于添加一个新用户。 - delete_user函数用于删除一个用户。 - edit_user函数用于编辑一个用户。 其中,add_user和edit_user函数使用了POST方法来接收表单数据,而delete_user和edit_user函数则使用了URL参数来接收用户ID。 在模板中,我们可以使用Jinja2的语法来展示数据。例如,我们可以使用for循环来遍历所有用户,并使用{{ user.name }}和{{ user.email }}来展示每个用户的姓名和电子邮件地址。 下面是一个简单的index.html模板文件,展示了如何使用Jinja2来展示用户数据: ```html <!DOCTYPE html> <html> <head> <title>User List</title> </head> <body> <h1>User List</h1> <ul> {% for user in users %} <li>{{ user.name }} ({{ user.email }}) <a href="/edit_user/{{ user.id }}">Edit</a> <a href="/delete_user/{{ user.id }}">Delete</a></li> {% endfor %} </ul> <h2>Add User</h2> <form method="POST" action="/add_user"> <label>Name</label> <input type="text" name="name"><br> <label>Email</label> <input type="email" name="email"><br> <input type="submit" value="Add"> </form> </body> </html> ``` 在这个模板文件中,我们使用{% for user in users %}和{% endfor %}来循环遍历所有用户,使用{{ user.name }}和{{ user.email }}来展示每个用户的姓名和电子邮件地址。此外,我们还添加了一个表单,用于添加一个新用户。 以上就是一个简单的Flask数据库增删改查并前端展示的示例程序。当然,实际的应用场景可能更加复杂,需要根据具体需求进行相应的修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值