我正在向Django CMS添加metaweblogapi支持,但不太确定如何对应用程序进行分层。在
我使用的是django\xmlrpc,它允许我为每个请求映射到参数化函数。这只是一个如何从服务函数(AddPage、EditPage等)挂接对django应用程序的调用的例子
对于django页面cms,我想还有许多django应用程序,业务逻辑和验证都包含在表单中。这里有PageForm(窗体.ModelForm)以及PageAdmin(ModelAdmin),它们都包含大量的逻辑和验证。在
如果我要构建一个允许维护页面和内容的API,这是否意味着我应该以编程方式创建和填充PageAdmin实例?然后捕捉任何异常,并转换为它们的api等价物?或者这是一个坏主意-滥用表单的目的?在
另一个选择是重构代码,使业务和逻辑不在窗体类中。然后我将得到表单和api,它们都经过独立的业务逻辑。在
还有其他选择吗?在
最好的解决方案是什么?在
Web服务API只是更多的URL
这些WS-API URL的映射到视图函数。在
WS-view函数处理GET和POST(可能还有PUT和DELETE)。在
WS-view函数使用表单和模型来实现。在
在某种程度上,它就像一个管理界面。但是,没有HTML。在
WS-view函数用JSON消息或XML消息响应。在
python似乎没有提供这种现成的功能。但有一种叫做abc模块的东西:
我引用http://www.doughellmann.com/PyMOTW/abc/“通过定义抽象基类,您可以为一组子类定义一个公共API。在第三方将提供实现的情况下,此功能尤其有用…=>;API的目标,即定义契约。在
相关问题 更多 >
编程相关推荐