首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大型django项目的项目设计/ FS布局

大型django项目的项目设计/ FS布局
EN

Stack Overflow用户
提问于 2008-09-04 16:36:12
回答 6查看 8K关注 0票数 44

布局大型django项目的最佳方法是什么?这些教程为设置应用程序、模型和视图提供了简单的说明,但是关于应用程序和项目应该如何分解、在典型项目中应用程序之间允许/需要共享多少信息(显然,这在很大程度上取决于项目)以及应该如何/在哪里保存通用模板的信息较少。

有没有人有例子,建议和解释为什么某个项目的布局比另一个好?我特别感兴趣的是大量单元测试(实际代码库大小的2-5倍)和字符串外部化/模板。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-09-25 19:30:33

主要指导方针类似于任何其他大型代码项目。应用程序应该解决单一的,明确界定的责任。" application“这个名字用词不当;Django应用程序应该更多地被认为是可重用的组件,可以插在一起创建一个真正的应用程序。每个应用程序的测试都应该包含在该应用程序中。应用程序应该尽可能地相互解耦,但显然会存在依赖关系,因此目标应该是保持依赖关系图尽可能简单和合理。

我更喜欢将项目的所有模板放在一个项目范围内的模板目录下,并为每个应用程序设置一个子目录(在Django中,为每个应用程序使用一个模板子目录是一个很强的惯例,因为它避免了应用程序之间的模板名称冲突)。一个项目范围内的模板目录的原因是模板、模板继承树和块名都可能是特定于项目的,因此很难提供“默认”的应用程序模板来插入任何项目。已经有人尝试为基本站点范围内的模板和它们定义的块确定标准命名约定,但我还没有看到标准出现(他们在皮纳克斯上重新处理的方式可能是我们所拥有的最接近标准的)。

Re“字符串外部化”,如果您指的是i18n和l10n,Django对此以及它放置.po文件的标准位置有很强的支持--检查文档

票数 19
EN

Stack Overflow用户

发布于 2010-04-22 01:17:57

我发现Zachary的布局非常有用Zachary Voase的博客Django项目公约,修订。

票数 9
EN

Stack Overflow用户

发布于 2008-09-04 16:44:21

这个页面很好地解决了我的一些问题:http://www.b-list.org/weblog/2006/sep/10/django-tips-laying-out-application/

具体地说:

  1. 要定义自定义模板标记或过滤器,您必须在应用程序的目录中创建一个名为templatetag的子目录,并且它必须包含一个名为__init__.py的文件,以便它可以作为一个Python模块导入。
  2. 要定义由Django的测试框架自动注意到的单元测试,将它们放在一个名为test的模块中(可以是名为tests.py的文件,也可以是名为test的目录)。测试框架还将在该模块中找到任何doctest,但这些测试的首选位置当然是它们设计用于测试的类或函数的文档字符串。
  3. 若要提供安装应用程序后立即执行的自定义SQL,请在应用程序目录中创建一个名为sql的子目录;文件名应与它们将对其操作的模型的名称相同;例如,如果您有一个名为weblog的应用程序包含一个名为Entry的模型,则应用程序目录中的文件sql/entry.sql可以在创建后立即用于修改或插入数据到条目表中。

关于tests.py和测试(目录)的说明也适用于模型,这有助于解决为一个文件提供多个测试(或多个模型)的问题。

我仍然希望看到一些应用程序/项目分解的例子/建议,以及运行良好的大型django站点。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档