布局大型django项目的最佳方法是什么?这些教程为设置应用程序、模型和视图提供了简单的说明,但是关于应用程序和项目应该如何分解、在典型项目中应用程序之间允许/需要共享多少信息(显然,这在很大程度上取决于项目)以及应该如何/在哪里保存通用模板的信息较少。
有没有人有例子,建议和解释为什么某个项目的布局比另一个好?我特别感兴趣的是大量单元测试(实际代码库大小的2-5倍)和字符串外部化/模板。
发布于 2008-09-25 19:30:33
主要指导方针类似于任何其他大型代码项目。应用程序应该解决单一的,明确界定的责任。" application“这个名字用词不当;Django应用程序应该更多地被认为是可重用的组件,可以插在一起创建一个真正的应用程序。每个应用程序的测试都应该包含在该应用程序中。应用程序应该尽可能地相互解耦,但显然会存在依赖关系,因此目标应该是保持依赖关系图尽可能简单和合理。
我更喜欢将项目的所有模板放在一个项目范围内的模板目录下,并为每个应用程序设置一个子目录(在Django中,为每个应用程序使用一个模板子目录是一个很强的惯例,因为它避免了应用程序之间的模板名称冲突)。一个项目范围内的模板目录的原因是模板、模板继承树和块名都可能是特定于项目的,因此很难提供“默认”的应用程序模板来插入任何项目。已经有人尝试为基本站点范围内的模板和它们定义的块确定标准命名约定,但我还没有看到标准出现(他们在皮纳克斯上重新处理的方式可能是我们所拥有的最接近标准的)。
Re“字符串外部化”,如果您指的是i18n和l10n,Django对此以及它放置.po文件的标准位置有很强的支持--检查文档。
发布于 2010-04-22 01:17:57
我发现Zachary的布局非常有用Zachary Voase的博客Django项目公约,修订。
发布于 2008-09-04 16:44:21
这个页面很好地解决了我的一些问题:http://www.b-list.org/weblog/2006/sep/10/django-tips-laying-out-application/
具体地说:
关于tests.py和测试(目录)的说明也适用于模型,这有助于解决为一个文件提供多个测试(或多个模型)的问题。
我仍然希望看到一些应用程序/项目分解的例子/建议,以及运行良好的大型django站点。
https://stackoverflow.com/questions/44135
复制相似问题