Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 什么是“一个”呢;app";在Django?_Python_Django - Fatal编程技术网

Python 什么是“一个”呢;app";在Django?

Python 什么是“一个”呢;app";在Django?,python,django,Python,Django,根据: 应用程序是一种Web应用程序 比如,一个网络日志系统,一个 公共记录数据库或简单的 民意测验应用程序。项目是一组 a的配置和应用程序 特定网站。一个项目可以 包含多个应用程序。应用程序可以是 在多个项目中 但是,还有什么其他的例子可以说明“应用程序”是如何形成的呢?如果您不打算使用Django的内置用户框架,那么用户管理很可能就是一个应用程序 它有用户界面和为存储数据定义的模型,并且它实际上与博客或Wiki应用程序分离(尽管信息将被共享) 只要两个应用程序在同一个“项目”中,它们就应该对

根据:

应用程序是一种Web应用程序 比如,一个网络日志系统,一个 公共记录数据库或简单的 民意测验应用程序。项目是一组 a的配置和应用程序 特定网站。一个项目可以 包含多个应用程序。应用程序可以是 在多个项目中


但是,还有什么其他的例子可以说明“应用程序”是如何形成的呢?

如果您不打算使用Django的内置用户框架,那么用户管理很可能就是一个应用程序

它有用户界面和为存储数据定义的模型,并且它实际上与博客或Wiki应用程序分离(尽管信息将被共享)

只要两个应用程序在同一个“项目”中,它们就应该对数据库使用相同的设置。您应该能够通过确保在您尝试使用它们的地方导入适当的模型来实现

有关更多信息,请参阅。

应用程序(对我们而言)的构成要素是一件事:

应用程序是重用的单位

如果我们想把它拆分到其他地方使用,它就是一个应用程序

如果它有一个可重用的数据模型,那么它就是一个应用程序。用户配置文件:应用程序。顾客:应用程序。客户统计历史记录(如果不提供太多细节,很难解释):应用程序。报告:应用程序。精算分析:应用程序。用于数据收集的供应商API:应用程序


如果它是唯一的,并且永远不会被重用(即,特定于客户),那么它就是一个依赖于其他应用程序的应用程序。数据加载是特定于客户的。每个应用程序都是基于一对现有应用程序(批量上传和统计历史)构建的应用程序。

Django应用程序是可重用功能的捆绑包。刚开始时,只需为项目使用一个自定义应用程序就很容易了,但“Django方法”是将其分解为单独的应用程序,每个应用程序只做一件事。您可以查看django.contrib,以了解真正制作良好的可重用应用程序的示例

我最近的一个例子是:一个客户端需要一种将CSV数据导入Django模型的方法。最简单的方法是只添加一个带有文件字段的模型,并为上传内容的特定格式编写一个快速解析器。在格式改变之前,这一切都很好,我必须让解析器匹配。但这是一项经常重复的任务(导入数据),与现有的应用程序(管理数据)无关,所以我自己解决了这个问题。此可插拔应用程序可以导入任何活动模型的数据。现在,下次客户端需要导入功能时,我只需将此代码添加到已安装的应用程序并运行syncdb


当一个应用程序独立运行时,这是一个判断,但对我来说,经验法则是,如果我可能再次做某件事,我会花额外的时间让它成为一个通用的应用程序。这意味着我已经创建了一些小应用程序(有些只是包含一个模板标签),但这对于未来的收益来说是一点开销。

ok。我想,用户是个糟糕的选择。但是你可以在应用程序之间共享数据?是的,你应该能够。编辑文章以提供更多信息。这很有意义,也证实了我的想法。谢谢