from flask import Flask,session from flask_restful Api,Resource from flask_restful.reqparse RequestParser from flask_sqlalchemy SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = mysql://root:mysql@127.0.0.1:3306/flask' app.config[SQLALCHEMY_TRACK_MODIFICATIONS'] = False api = Api(app) app.secret_key = fdafsdafsafsafsa db = SQLAlchemy(app) class User(db.Model): __tablename__ = t_user id =db.Column(db.Integer,primary_key=True) name = db.Column(db.String(64)) mobile = db.Column(db.String(64)) def to_dict(self): return { id:self.id,name:self.name,1)">mobile:self.mobile,} Login(Resource): post(self): parser = RequestParser() parser.add_argument(',required=True,location="args") parser.add_argument(code) req = parser.parse_args() if req.code !=123456: return {msg':code_error} user = User.query.filter(User.mobile==req.mobile).first() if not user: user = User(name=req.mobile,mobile=req.mobile) db.session.add(user) db.session.commit() session[uer_id user.id ': 登录成功} Info(Resource): get(self): user_id = session.get(user_id) user_id: message请先登录'},401 user = User.query.filter(User.id==user_id).first() user.to_dict() api.add_resource(Login,1)">/login) api.add_resource(Info,1)">/info) if __name__ == __main__: app.run(debug=True)
装饰器版
} login_requried(func): def wrapper(*args,**kwargs): user_id = session.get( user = User.query.filter(User.id==user_id).first() g.user = user return func(*args,1)">kwargs) wrapper Info(Resource): method_decorators = {get:[login_requried]} get(self): g.user.to_dict() api.add_resource(Login,1)">: app.run(debug=True)
before_request和装饰器版
} @app.before_request before_request(): user_id = session.get() user = User.query.filter(User.id == user_id).first() g.user =user kwargs): g.user: : app.run(debug=True)
原文地址:https://www.cnblogs.com/tracydzf
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。