You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.7 KiB
60 lines
1.7 KiB
from flask import Flask
|
|
from flask_sqlalchemy import SQLAlchemy
|
|
|
|
|
|
app = Flask(__name__)
|
|
|
|
#设置连接数据库的URL
|
|
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqldb://root:root@127.0.0.1:3306/test'
|
|
|
|
#设置每次请求结束后会自动提交数据库中的改动
|
|
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
|
|
|
|
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
|
|
#查询时会显示原始SQL语句
|
|
app.config['SQLALCHEMY_ECHO'] = True
|
|
db = SQLAlchemy(app)
|
|
|
|
class Role(db.Model):
|
|
# 定义表名
|
|
__tablename__ = 'roles'
|
|
# 定义列对象
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
name = db.Column(db.String(64), unique=True)
|
|
us = db.relationship('User', backref='role')
|
|
|
|
|
|
class User(db.Model):
|
|
__tablename__ = 'users'
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
name = db.Column(db.String(64), unique=True, index=True)
|
|
email = db.Column(db.String(64),unique=True)
|
|
pswd = db.Column(db.String(64))
|
|
role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
|
|
class City(db.Model):
|
|
#表模型
|
|
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
|
|
provincename = db.Column(db.String(255))
|
|
cityname = db.Column(db.String(255))
|
|
usernumber = db.Column(db.Integer)
|
|
|
|
|
|
db.create_all()
|
|
ro1 = City(name='admin')
|
|
ro2 = Role(name='user')
|
|
db.session.add_all([ro1, ro2])
|
|
db.session.commit()
|
|
us1 = City(provincename='hubei', cityname='wuhan', usernumber=ro1.id)
|
|
us2 = City(provincename='hubei', cityname='yichang', usernumber=ro2.id)
|
|
|
|
|
|
db.session.add_all([us1, us2])
|
|
db.session.commit()
|
|
|
|
@app.route('/')
|
|
def index():
|
|
cityList = City.query.order_by(City.id.desc()).all()
|
|
return render_template("index.html", city_list=cityList)
|
|
|
|
app.run(debug=True)
|