flask数据库操作(flask_sqlalchemy)

from flask import Flask,request,render_template
from flask_sqlalchemy import SQLAlchemy
import os

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    username = db.Column(db.String(32),unique=True,nullable=False)
    password = db.Column(db.String(32),nullable=False)

if os.path.exists(os.path.join(os.path.dirname(__file__),'test.db')):
    db.create_all()


@app.route('/')
def hello_word():
    users = User.query.all()
    return render_template('index.html',users = users)

@app.route('/add_user',methods=['GET','POST'])
def add_user():
    if request.method == 'GET':
        return render_template('add_user.html')
    elif request.method == 'POST':
        username = request.form.get('username')
        password = request.form.get('password')

        user = User()
        user.username = username
        user.password = password

    try:
        db.session.add(user)
        db.session.commit()
        return '添加成功'
    except Exception:
        return '添加失败'

@app.route('/delete_user/<int:userid>')
def delete_user(userid):
    user = User.query.get(userid)
    try:
        db.session.delete(user)
        db.session.commit()
        return '删除成功'
    except Exception:
        return '删除失败'


if __name__ == '__main__':
    app.run()

 index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户展示</title>
    <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
</head>
<body>
<table class="table table-striped">
<tr>
    <th>用户名</th>
    <th>密码</th>
    <th>删除操作</th>
</tr>
    {% for user in users %}
    <tr>
        <td>
          {{ user.username }}
        </td>
        <td>
          {{ user.password }}
        </td>
        <td><a href="{{ url_for('delete_user',userid = user.id) }}">删除</a></td>
    </tr>
    {% endfor %}
</table>


</body>
</html>

add_user.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>添加用户</title>
    <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
</head>
<body>
<form action="add_user" method="post">
    <div class="form-group">
        <label for="username">用户名</label>
        <input type="text" name="username" id="username" class="form-control">
    </div>
    <div class="form-group">
        <label for="password">密码</label>
        <input type="password" name="password" id="password" class="form-control">
    </div>

        <input type="submit" name="提交" class="btn btn-default">

</form>

</body>
</html>

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值