这个场景很新,并试图找到一些文档来采用最佳实践.我们正在构建一个相当大的内容网站,其中包含各种媒体目录,我正在尝试找到一些类似的数据/架构模型,以便我们可以更好地了解我们应该使用的方法,使用我们从未使用的框架利用之前.任何见解/帮助将不胜感激!
"数据/架构模型,以便我们可以使用我们以前从未使用的框架更好地了解我们应该使用的方法"
Django对您施加了最佳实践.你没有很多选择,也不会犯很多错误.
MVC(虽然是一种崇高的愿望)实施如下:
使用Django ORM模型在"models.py"文件中定义数据.
urls.py文件将URL映射到视图功能.明智地选择你的网址.
View函数在模型中使用模型和方法进行所有处理
View函数调用的演示文稿(通过HTML模板).基本上没有任何处理可以在演示中完成,只需轻量级迭代和决策
该模型是为您定义的.坚持Django自然而然地做的事情,你会很开心.
在架构上,你通常有这样的堆栈.
Apache做了两件事.
直接立即提供静态内容
将动态URL交给Django(通过mod_python,mod_wsgi或mod_fastcgi).Django应用程序将URL映射到查看功能(访问数据库(通过ORM /模型)并通过模板显示).
Django视图函数使用的数据库.
该架构为您定义良好.坚持Django自然而然地做的事情,你会很开心.
随意阅读Django文档.它很棒; 也许是最好的.
首先,忘记所有的MVC口头禅.拥有一个好的分层结构很重要,但MVC(最初定义)不是一个,它是一个模块化结构,每个GUI模块在这些树子模块中分开.这里没什么可在网上使用的.
在Web开发中,拥有一个分层结构确实是值得的,其中最重要的层是存储/建模层,后来被称为模型层.最重要的是,你需要一些其他层,但它们真的不像GUI世界中的视图和控制器.
Django层大致是:
存储/建模:models.py,显然.尝试将大多数"工作"概念放在那里.所有的关系,所有的操作都应该在这里实现.
调度:主要在urls.py. 在这里,您将URL方案转换为代码路径.把它想象成一个大的switch()语句.尽量使用可读的URL,这些URL可映射到用户意图中.它将有助于添加新功能或新方法来做同样的事情(如后来的AJAX UI).
收集:主要是视图函数,包括你的和预构建的通用视图.在这里,您只需从模型中收集所有内容即可满足用户请求.在很多情况下,它只需选择一个模型实例,其他所有内容都可以从关系中检索出来.对于这些URL,通用视图就足够了.
演示文稿:模板.如果视图为您提供所需的数据,则将其转换为网页非常简单.在这里,你会感谢模型类有很好的访问器来从任何给定的实例获取任何类型的相关数据.