"""
创建于19-10-8
@要求:Anaconda 4.3.0(64位)Python3.6
@描述:
"""
从flask_sqlalchemy导入SQLAlchemy
从烧瓶导入烧瓶,jsonify,请求
导入配置解析器
导入操作系统
app = Flask(__名称__)
#首选使用ConfigParser来初始化实例并读取配置文件:
my_config = configparser.ConfigParser()
my_config.read(" db.conf")
#连接到数据库information_collection
app.config [" SQLALCHEMY_DATABASE_URI"] = os.environ.get(" DEV_DATABASE_URL")或\\\\
" mysql + pymysql://根:password@127.0.0.1:3306/information_collection"
app.config [" SQLALCHEMY_TRACK_MODIFICATIONS"] = True
mydb = SQLAlchemy()
mydb.init_app(应用程序)
#用户模型
类User(mydb.Model):
user_id = mydb.Column(mydb.Integer,primary_key = True)
user_name = mydb.Column(mydb.String(60),可空= False)
user_password = mydb.Column(mydb.String(30),可为空= False)
user_nickname = mydb.Column(mydb.String(50))
user_email = mydb.Column(mydb.String(30),可为空= False)
def __repr __(个体经营):
返回" \ lt; User%r \ gt;"%self.user_name
#获取用户列表,所有数据
@ app.route("/用户",方法= [" GET"])
def getUsers():
数据= User.query.all()
数据= []
对于数据用户:
datas.append({" user_id":user.user_id," user_name":user.user_name," user_nickname":user.user_nickname," user_email":user.user_email})
返回jsonify(数据=数据)
#一次添加用户数据
@ app.route("/用户",方法= [" POST"])
def addUser():
user_name = request.form.get(" user_name")
user_password = request.form.get(" user_password")
user_nickname = request.form.get(" user_nickname")
user_email = request.form.get(" user_email")
用户=用户(用户名=用户名,用户密码=用户密码,用户昵称=用户昵称,用户电子邮件=用户电子邮件)
尝试:
mydb.session.add(用户)
mydb.session.commit()
除了:
mydb.session.rollback()
mydb.session.flush()
userId = user.user_id
如果(user.user_id为None):
结果= {" msg":"添加失败"}
返回jsonify(数据=结果)
数据= User.query.filter_by(user_id = userId).first()
结果= {" user_id":user.user_id," user_name":user.user_name," user_nickname":user.user_nickname," user_email":user.user_email}
返回jsonify(数据=结果)
#获取单条数据
@ app.route("/用户/\\ int:用户id \ gt;",方法= [" GET"])
def getUser(userId):
user = User.query.filter_by(user_id = userId).first()
如果(用户为None):
result = {" msg":"未找到数据"}
其他:
结果= {" user_id":user.user_id," user_name":user.user_name," user_nickname":user.user_nickname," user_email":user.user_email}
返回jsonify(数据=结果)
#修改用户数据
@ app.route("/用户/\\ int:userId \ gt;",方法= [" PATCH"])
def updateUser(userId):
user_name = request.form.get(" user_name")
user_password = request.form.get(" user_password")
user_nickname = request.form.get(" user_nickname")
user_email = request.form.get(" user_email")
尝试:
user = User.query.filter_by(user_id = userId).first()
如果(用户为None):
result = {" msg":"没有要修改的记录"}
返回jsonify(数据=结果)
其他:
user.user_name =用户名
user.user_password =用户密码
user.user_nickname =用户名
user.user_email =用户_电子邮件
mydb.session.commit()
除了:
mydb.session.rollback()#回滚
mydb.session.flush()#重置
userId = user.user_id
数据= User.query.filter_by(user_id = userId).first()
结果= {" user_id":user.user_id," user_name":user.user_name," user_password":user.user_password," user_nickname":user.user_nickname," user_email":user.user_email}
返回jsonify(数据=结果)
#删除用户数据
@ app.route("/用户/\\ int:userId \ gt;",方法= ["删除"])
def deleteUser(userId):
User.query.filter_by(user_id = userId).delete()
mydb.session.commit()
返回getUsers()
如果__name __ ==" __ main__":
app.run()