楼主问的应该是基于 method 的 restful 类的视图实现。flask 有提供 flask.views.MethodView,demo 见:http://docs.jinkan.org/docs/flask/views.html#id4 但并不建议用这种方法。因为: 因为从调用者的视角来看 self 是不明确的,所以你不能在单独的视图方法上使用常规的视图装饰器,请记住这些。 也就是说,class 中有若干个方法,比如 get、post、put、delete 等,但你没法单独为这些方法添加装饰器,你只能给整个 class 添加。 tornado 可以。 我最早用 tornado,后来想试下 flask,发现这个问题后,我就决定只用 flask 的 blueprint蓝图 了。假如一个 URL 要实现 GET、POST、PUT 三种方法,你需要在一个 view function 内去检测 if method == "GET" 等等,也挺麻烦。
楼主问的应该是基于
method的 restful 类的视图实现。flask 有提供flask.views.MethodView,demo 见:http://docs.jinkan.org/docs/flask/views.html#id4但并不建议用这种方法。因为:
因为从调用者的视角来看
self是不明确的,所以你不能在单独的视图方法上使用常规的视图装饰器,请记住这些。也就是说,class 中有若干个方法,比如
get、post、put、delete等,但你没法单独为这些方法添加装饰器,你只能给整个 class 添加。tornado可以。我最早用
tornado,后来想试下flask,发现这个问题后,我就决定只用 flask 的blueprint蓝图 了。假如一个 URL 要实现GET、POST、PUT三种方法,你需要在一个 view function 内去检测if method == "GET"等等,也挺麻烦。