flask 如何实现类似 web.py 的 URL 映射?
如题,如何实现类似 webpylike.py 的 web.py 风格的 URL 映射?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如题,如何实现类似 webpylike.py 的 web.py 风格的 URL 映射?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
楼主问的应该是基于
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"
等等,也挺麻烦。flask
里面有一个 即插视图(Pluggable Views
)可以实现类似web.py
风格。此外,
flask
还有一个 蓝图(Blueprint
)用来组织大型项目代码。