基于类的视图扩展点¶
描述¶
这个扩展缩写为cvep。
Flask-Classful是Flask扩展,用以添加基于类的视图。
这个扩展点是基于Flask-Classful来扩展路由的,所以你的应用程序需要安装它(文档地址: flask_classful_docs )。
$ pip install -U Flask-Classful
插件需要通过register函数返回cvep字段,返回的cvep数据类型可以是字典、列表或元组,额,格式类似于vep。
字典的话,格式是{view_class:, other register options},更多options参数参考文档: flask_classful_register ,一个普通例子如下:
from flask_classful import FlaskView
class TestView(FlaskView):
def index(self):
return "test"
dict(view_class=TestView, route_base="/classful")
其他类型表示为多个路由,嵌套多个上面那种字典数据即可。
Flask-PluginKit通过 _cvep_handler()
加载cvep,这个方法会检测cvep规则和内容。
示例¶
注册cvep
from flask_classful import FlaskView
quotes = [
"A noble spirit embiggens the smallest man! ~ Jebediah Springfield",
"If there is a way to do it better... find it. ~ Thomas Edison",
"No one knows what he can do till he tries. ~ Publilius Syrus"
]
class QuotesView(FlaskView):
def index(self):
"""Visit: http://localhost:5000/quotes/"""
return "<br>".join(quotes)
def get(self, id):
"""Visit: http://localhost:5000/quotes/1/"""
id = int(id)
if id < len(quotes) - 1:
return quotes[id]
else:
return "Not Found", 404
def register():
return dict(
cvep = [
dict(view_class=QuotesView)
]
)