【发布时间】:2010-11-07 01:31:00
【问题描述】:
我正在向 Django CMS 添加 MetaWeblog API 支持,但不太确定如何对应用程序分层。
我正在使用 django_xmlrpc,它允许我为每个请求映射到参数化函数。这只是我在从服务功能(AddPage、EditPage 等)调用 django 应用程序时挂钩的级别的一个例子
对于 django-page-cms,我想很多 django 应用程序,业务逻辑和验证都包含在表单中。在这种情况下,有 PageForm(forms.ModelForm) 和 PageAdmin(ModelAdmin),它们都包含大量的逻辑和验证。
如果我要构建 API 以允许维护页面和内容,这是否意味着我应该以编程方式创建和填充 PageAdmin 实例?然后捕捉任何异常,并转换为它们的 api 等价物?或者这是一个坏主意 - 滥用表格的用途?
另一种选择是重构代码,以便将业务和逻辑保留在表单类之外。然后我会得到表单和 api,两者都通过单独的业务逻辑。
还有其他选择吗?
最好的解决方案是什么?
【问题讨论】:
标签: python django api django-models django-admin