安装模块
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>