为google app engine用户提供路由装饰器
flask-gae-users的Python项目详细描述
Flask Google应用程序引擎用户
为google app engine用户提供路由装饰器。
作者
丹尼尔'矢量'克尔(vector@vector.id.au)
许可证
请参阅LICENSE.txt。
安装
pip安装烧瓶gae用户
示例用法
python代码
main.py
fromflaskimportFlask,request,Response,jsonifyfromflask_gae_usersimportGAEUsersfromflask_gae_usersimportGAENoUserExceptionfromflask_gae_usersimportGAENotAdminExceptionapp=Flask()GAEUsers(app=app)# Provide a response when a user is not logged in@app.errorhandler(GAENoUserException)defonAppNoUser(e):body="<p>You must log in to continue</p>"body=body+"<p><a href=\""+app.get_login_url()+"\">Sign in</a></p>"returnResponse(body,status=401)# Provide a response when a user is not an administrator@app.errorhandler(GAENotAdminException)defonAppNoUser(e):body="<p>You are not authorized to access this resource</p>"body=body+"<p><a href=\""+app.get_logout_url()+"\">Sign in as a different user</a></p>"returnResponse(body,status=403)# Create a user-protected route by adding the `require_user` decorator@app.route('/home',methods=['GET'])@app.require_user()defrouteHome():user=app.get_user()returnjsonify({'user':repr(user)})# Create an admin-protected route by adding the `require_admin` decorator@app.route('/admin',methods=['GET'])@app.require_admin()defrouteAdmin():admin=app.get_user()returnjsonify({'admin':repr(admin)})# Run the flask applicationif__name__=='__main__':app.run(port=8080)
运行服务器
python main.py