0


flask flask-sqlalchemy sqlit3

这次是数据库使用,拒绝花哨主打就是一个简单

pip install flask-sqlalchemy

调用数据库现在配置里边设置下然后绑上APP后,定义数据结构类.下面是我认为最简单的数据库增删查改结构。

from flask_sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI']='sqlite:///db.sqlite3'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS']=True
db = SQLAlchemy(app)##定义数据结构类classUser(db.Model):id= db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)def__repr__(self):return'<User %r>'% self.username
## 如果没有表要创建表,有的话则无改动with app.app_context():
    db.create_all()##查询数据@app.route("/sql")deffind_all_users():
    users = User.query.all()print(users)return render_template("sql.html", users=users)##查询一个数据@app.route("/get/<int:get_id>")defget_by_id(get_id):
    get_user = User.query.get(get_id)# User.query.filter_by(id=get_id).first()return"编号:{0},用戶名:{1},邮箱:{2}".format(get_user.id, get_user.username, get_user.email)##增加数据@app.route("/add/<username>")defadd_user(username):
    new_user = User()
    new_user.username = username
    new_user.email = username +"@qq.com"
    db.session.add(new_user)
    db.session.commit()return redirect("/")##删除数据@app.route("/delete/<int:del_id>")defdelete_by_id(del_id):
    del_user = User.query.filter_by(id=del_id).first()if del_user isnotNone:
        db.session.delete(del_user)
        db.session.commit()return redirect("/")@app.route("/update", methods=["GET","POST"])defupdate():if request.method =="POST":
        user_id = request.form.get("id")
        new_username = request.form.get("username")
        new_email = request.form.get("email")
        user = User.query.get(user_id)if user:
            user.username = new_username
            user.email = new_email
            db.session.commit()return redirect(url_for("update"))
    users = User.query.all()return render_template("update.html", users=users)

sql.html

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><table border="1"><tr><th>编号</th><th>用户名</th><th>邮箱</th><th>操作</th></tr>{%for u in users %}<tr><td>{{ u.id}}</td><td>{{ u.username }}</td><td>{{ u.email }}</td><td><a href="delete/{{ u.id }}">删除</a></td></tr>{% endfor %}</table>

update.html

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Update User</title></head><body><table border="1"><tr><th>编号</th><th>用户名</th><th>邮箱</th></tr>{%for u in users %}<tr><td>{{ u.id}}</td><td>{{ u.username }}</td><td>{{ u.email }}</td></tr>{% endfor %}</table><h2>更新用户信息</h2><form action="/update" method="post"><label for="id">用户ID:</label><br><inputtype="text"id="id" name="id" required><br><label for="username">新用户名:</label><br><inputtype="text"id="username" name="username" required><br><label for="email">新邮箱:</label><br><inputtype="email"id="email" name="email" required><br><inputtype="submit" value="更新"></form></body></html>
标签: flask python 后端

本文转载自: https://blog.csdn.net/gaoke11240/article/details/135431101
版权归原作者 海的思想 所有, 如有侵权,请联系我们删除。

“flask flask-sqlalchemy sqlit3”的评论:

还没有评论