最近一些朋友想学习一下flask,首先推荐的当然是我们的官网:http://docs.jinkan.org/docs/flask/ ,实践出真知,还是多动手,理解的更深入。
因为即插即用,很多的功能包在你需要的时候再去寻找吧。比如:http://www.cnblogs.com/vovlie/p/4182814.html ,当然你也可能有很多不错的想法也可以告诉我,thanks。
from flask.ext.httpauth import HTTPBasicAuth auth = HTTPBasicAuth() @app.route('/api/resource') @auth.login_required def get_resource(): return jsonify({ 'data': 'Hello, %s!' % g.user.username })
那么Flask-HTTPAuth(login_required装饰器)需要知道如何验证用户信息,这就需要具体去实现安全验证的方法了。
@auth.verify_password def verify_password(username, password): user = User.query.filter_by(username = username).first() if not user or not user.verify_password(password): return False g.user = user return True
如果用户名与密码验证通过,user对像会被存储到Flask的g对像中。(注:对象 g 存储在应用上下文中而不再是请求上下文中,这意味着即使在应用上下文中它也是可访问的而不是只能在请求上下文中。)方便其它函数使用。
$ curl -u ok:python -i -X GET http://127.0.0.1:5000/api/resource
flask_admin的学习:http://flask-admin.readthedocs.io/en/latest/
flask_admin深入技巧: http://flask-admin.readthedocs.org/en/latest/api/mod_contrib_sqla/
FAB: https://github.com/dpgaspar/flask-appbuilder/
当然还有很多不错的插件,你也可以推荐给我,thanks。
http://flask-debugtoolbar.readthedocs.io/en/latest/