Django应用程序到底是什么?



我想从Rails切换到Django,以拓宽我的视野,一个问题在我脑海中闪现。

我的Rails应用程序是相当混乱的,因为我的基于爱好的开发方法是一个补丁和胶水。我很早就看到Django将项目和应用区分开来。根据他们的网站,一个项目是由许多应用组成的,一个应用可以用于许多项目。

这引起了我的兴趣,因为这将使我的网站区域之间的界限更清晰。我试图找到更多的例子和信息,但我无法回答我的问题,这是:

这样的应用程序有多大/多小?他们能够/应该密切互动吗?

例如,让一个应用程序处理用户的个人资料,另一个应用程序处理来自这些用户的博客帖子和评论,这是明智的吗?(在我的网站上,一个用户可以有几个博客,有不同的配置文件)。或者它们是用来做其他用途的?

django App是 python包的一个花哨的名字。真的,就是这样。django应用程序与其他python包的唯一区别是,它出现在settings.pyINSTALLED_APPS列表中是有意义的,因为它包含了模板、模型或其他可以被其他django功能自动发现的功能。

一个好的django应用只会做一件事,把它做好,并且不会与其他可能使用它的应用紧密耦合。在contrib命名空间中,django提供了各种各样的应用程序,它们遵循这个约定。

在你的例子中,设计应用程序的一个好方法是有一个用于用户配置文件(或使用许多现有的配置文件应用程序中的一个),一个用于博客文章的应用程序(或许多已经这样做的应用程序中的一个),一个用于评论的应用程序,与博客文章分开(再次,你可以使用现有的应用程序),最后,一个非常小的应用程序将三者联系在一起,因为它们不应该直接依赖于彼此。

使用应用程序的目的是使它们可重用。Django喜欢DRY principle。DRY代表DO NOT repeat yourself

应用应该尽可能的小,并且松散耦合。因此,一个应用程序不应该需要另一个应用程序才能正常工作。

Django建议为每个表编写一个应用程序(好吧,不是总是这样,但是一旦你想要扩展你的应用程序,你肯定需要划分表来配对应用程序)。否则你将很难维护你的代码。)

例如,你可以为用户创建一个应用,为销售创建一个应用,为评论创建一个应用,为文章创建一个应用。这将更容易维护你的代码,如果你做得对,你可以在其他project中使用应用程序,在应用程序中进行一点修改。

Project 's是app 's的汇编,用户app、文章app、评论app可以一起做一个项目,也就是一个网站。

如果你想学习django,我建议你查看:

http://www.djangobook.com/

http://docs.djangoproject.com/


一个字的建议,不要,在任何情况下,复制/粘贴。不仅你的代码很有可能出错,而且你也不知道代码在做什么。如果你打算在你的项目中使用别人的代码,至少在中键入他们的,这将使你理解代码在做什么,或者至少,它会给你一个想法。 写你自己的代码总是更好的维护,但这并不意味着你应该重新创造世界,你可以使用库,看看他们的文档来正确使用它。

文档、教程是你最好的朋友。

好运。

项目基本上就是你的项目所在的地方…在你的项目中设置你的url,项目设置等

应用程序定义了自己的数据模型和视图,以便在项目中使用。如果你愿意,你可以在项目之间移动它们。

我强烈建议你浏览Django网站上的教程,因为它们会告诉你什么是项目和应用程序,如何管理它们,如何使用管理面板,如何使应用程序在多个项目中可用,等等。

A portal =一个django项目

广告系统,图库照片,产品目录= Apps

相关内容

  • 没有找到相关文章

最新更新