根据文件:
应用程序是执行某些操作的Web应用程序 - 例如,Weblog系统,公共记录数据库或简单的轮询应用程序.项目是特定网站的配置和应用程序的集合.项目可以包含多个应用程序.一个应用程序可以在多个项目中.
但是,什么是"app"的其他例子呢?
S.L*_*ott 14
什么使应用程序(对我们来说)是一回事:
应用程序是重用的单位
如果我们可能想将其拆分以用于其他地方,那么它就是一个应用程序.
如果它具有可重用的数据模型,那么它就是一个应用程序.用户个人资料:App.客户:App.客户统计历史(如果不提供太多细节,很难解释):App.报告:App.精算分析:App.用于数据收集的供应商API:App.
如果它是唯一的并且永远不会被重用(即特定于客户),那么它就是一个依赖于其他应用程序的应用程序.数据加载是客户特定的.每个都是基于现有应用程序构建的应用程序(批量上传和统计历史记录)
小智 5
Django应用程序是可重用功能的捆绑包.在开始时,很容易为您的项目使用一个自定义应用程序,但"Django方式"是将其分解为单独的应用程序,每个应用程序只做一件事.您可以查看django.contrib,了解真正精心制作的可重用应用程序的示例.
我最近的一个例子:客户需要一种方法将CSV数据导入Django模型.最简单的方法是添加一个带有FileField的模型,并为他们上传的内容的特定格式编写一个快速解析器.这样可以正常工作,直到格式改变,我必须让解析器匹配.但这是一个常见的重复任务(导入数据),与现有应用程序(管理数据)无关,因此我自行将其分解.这个可插拔的应用程序可以导入任何活动模型的数据.现在,下次客户端需要导入功能时,我只需将此代码添加到installed_apps并运行syncdb.
这是一个判断调用什么时候打破一个应用程序自己,但我的经验法则是,如果我可能再做一些事情,我将花费额外的时间使它成为一个通用的应用程序.这意味着我已经创建了一些小应用程序(有些只包含一个模板标签),但是对于未来的收益来说它的开销很小.