flask-连接数据库flask_aqlalchemy-建表-增加字段-删除-修改

安装模块

pip install pymysql
pip install flask_aqlalchemy

flaskpei配置文件setting.py 中配置数据库

设置数据库url

#coding=utf-8
class DataBaseSetting:
    DEBUG=True
    SQLALCHEMY_DATABASE_URI ='mysql+pymysql://root:root@localhost/flaskdb'
    SQLALCHEMY_TRACK_MODIFICATIONS = True

config={
    'db':DataBaseSetting
}
from setting import config
app.config.from_object(config['db'])
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy(app)


class Roles(db.Model):
    #设置数据表名
    __tablename__='Roles'
    #设置数据表字段
    rid=db.Column(db.Integer,primary_key=True)
    rname=db.Column(db.String(20))

    def __init__(self,rname):
        self.rname=rname

    def __repr__(self):

        return 'Roles[id={0},name={1}]'.format(self.rid,self.rname)

@app.route('/indexx/')
def indexx():
    return render_template('indexx.html')

@app.route('/createroles/')
def createroles():
    #删除数据表
    db.drop_all()
    db.create_all()
    #数据表创建成功
    return render_template('indexx.html',msg='数据表创建成功')
#查询显示Roles所有对象
@app.route('/showall/')
def queryall():
    rolesall=db.session.query(Roles).all()
    return render_template('show.html',rolesall=rolesall)

#删除指定对象
@app.route('/delroles/<int:id>/', methods=['GET','POST'])
def delroles(id):
    db.session.query(Roles).filter_by(rid=id).delete()
    db.session.commit()
    return redirect(url_for('queryall'))
#修改指定对象
@app.route('/uproles/<int:id>/', methods=['GET','POST'])
def uproles(id):
    if request.method=='POST':
        rname=request.values.get('rname')
        data={}
        data['rname']=rname
        db.session.query(Roles).filter_by(rid=id).update(data)
        db.session.commit()
        return redirect(url_for('queryall'))
    else:
        roles=db.session.query(Roles).filter_by(rid=id).first()
        return render_template('uproles.html',roles=roles)

显示 

<table>
    <tr>
        <td>
            rid
        </td>
        <td>
            rname
        </td>
        <td>
            操作
        </td>
    </tr>
    {% for role in rolesall %}
    <tr>
        <td>
            {{ role.rid }}
        </td>
        <td>
            {{ role.rname }}
        </td>
        <td>
           <a href="/uproles/{{ role.rid }}/">修改</a> /<a href="/delroles/{{ role.rid }}/">删除</a>
        </td>
    </tr>
    {% endfor %}
</table>

增加

<form method="post" action="/addroles/">
    <input name="rname">
    <button type="submit">添加</button>
</form>

修改

<form method="post" action="/uproles/{{ roles.rid }}/">
    请输入数据:<input type="text" name="rname" value="{{ roles.rname }}">
    <button type="submit">修改</button>

</form>

猜你喜欢

转载自blog.csdn.net/huanghong6956/article/details/84986098
今日推荐