zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Flask中实现数据库的增删改查

数据库 实现 Flask 增删 改查
2023-09-14 09:14:34 时间

from flask_sqlalchemy import SQLAlchemy
from flask import Flask,render_template,request,redirect
app=Flask(name)
app.config[‘SQLALCHEMY_DATABASE_URI’]=‘mysql://root:123456@localhost:3306/test’
db=SQLAlchemy(app)

create model class

create users class to datebase named users table

create table id premart_key autoincreament varchar(80) default not null unique age int email varchat(120) unique

class Users(db.Model):
tablename=‘users’
id=db.Column(db.Integer,primary_key=True)
username=db.Column(db.String(80),nullable=False)
age=db.Column(db.Integer,nullable=True)
email=db.Column(db.String(120),unique=True)
def init(self,username,age,email):
self.username=username
self.age=age
self.email=email
def repr(self):
return “%s”%self.username
db.create_all()

@app.route(’/’,methods=[“GET”,“POST”])
def inchange(name):
if name==‘tables1’:
# users = Users(‘huan’, 22, ‘hdfeeekj@163.com’)
# db.session.add(users)
users=db.session.query(Users)
return render_template(‘tables1.html’,param=locals())
elif name==‘tables2’:
qa=request.form
print(qa.get(‘cao’,’’))
u_id=qa.get(‘id’,’’)
s_id=db.session.query(Users).filter(Users.idu_id).first()
return render_template(‘tables2.html’,param=locals())
elif name
’tables3’:
qa1= request.form
print(qa1.get(‘cao’, ‘’))
u_id1 = qa1.get(‘id’, ‘’)
s_id1= db.session.query(Users).filter(Users.id == u_id1).first()
return render_template(‘tables3.html’, param=locals())

elif name=='tables4':
    qa2= request.form
    u_id2 = qa2.get('id', '')
    s_id2= db.session.query(Users).filter(Users.id == u_id2).first()
    return render_template('tables4.html', param=locals())
elif name=='xiugai':
    data=request.form
    print(data)
    data1=db.session.query(Users).filter(Users.id==data.get('u_id','')).first()
    data1.username=data.get('username','')
    data1.age=data.get('age','')
    data1.email=data.get('email','')
    db.session.add(data1)
    db.session.commit()
    return redirect('tables1')

elif name=='shanchu':
    data2 = request.form
    print(data2)
    data3 = db.session.query(Users).filter(Users.id == data2.get('u_id','')).first()
    db.session.delete(data3)
    db.session.commit()
    return redirect('tables1')
elif name=='tanjia':
    data4 = request.form
    username = data4.get('username', '')
    age = int(data4.get('age', ''))
    email = data4.get('email', '')
    print(username,age,email)
    users = Users(username,age,email)
    db.session.add(users)
    db.session.commit()
    return redirect('tables1')

if name==‘main’:
app.run(debug=True,port=20000)
##################################################################
tables1.html
#########################3#########################

Title
<table border="1">
    <tr>
        <th>姓名</th>
        <th>年龄</th>
        <th>邮箱</th>
        <th>操作</th>
    </tr>


    {% for i in param.users %}


    <tr>
            <th>{{i.username}}</th>
            <th>{{i.age}}</th>
            <th>{{i.email}}</th>
            <th>

                <form action="tables2" method="post">
                    <input type="text" name="id" value="{{i.id}}">
                <input type="submit" value="修改">
                </form>
                <form action="tables3" method="post">
                    <input type="text" name="id" value="{{i.id}}">
                <input type="submit" value="删除">
                </form>
                <form action="tables4" method="post">
                    <input type="text" name="id" value="{{i.id}}">
                <input type="submit" value="添加">
                </form>

            </th>
    </tr>


    {% endfor %}



</table>
############################################## tables2.html ############################## Title

######################################### tables3.html #################################### Title

################################# tables4.html ##################################### Title