Django中的项目名称与应用程序名称

问题描述 投票:21回答:3

我正在尝试在JetBrains PyCharm IDE中创建一个新的Django / Python项目。但是,在输入我的软件名称时,它会通知我“您不能将您的应用程序称为与您的项目相同”。

为了充分理解Django中项目和应用程序之间的区别,我希望有人能够展示应用程序和项目之间的区别,这些已知的复合网站包括Facebook,Gmail和YouTube。

谢谢!

python django pycharm
3个回答
29
投票

我尝试使用Facebook:

facebook
  users
  messages
  notifications
  posts
  ...

基本上,要点是应用程序代表整个项目的特定部分。此外,应用程序可以“插入”类似的项目。为了维护,应用程序应该拥有与其他应用程序的目标不同的自己的目标。

作者引用James Bennett的话说,在优秀的“Django的两个勺子”book中:

创建和维护一个优秀的Django应用程序的艺术是它应该遵循Douglas McIlroy所说的截断的Unix哲学:“编写可以完成一件事并做得很好的程序”。

作者再次声明:

从本质上讲,每个应用程序都应该紧紧关注其任务。如果一个应用程序无法用中等长度的单个句子解释,或者您需要多次说“和”,则可能意味着该应用程序太大而且应该被分解。

2014年12月19日更新:

随着Django 1.7 this description of "Projects and applications"绝对值得一读。

2017年12月21日更新:

Django 1.10链接here


1
投票

从文档中的教程:

项目与应用程序项目和应用程序之间有什么区别?应用程序是执行某些操作的Web应用程序 - 例如,Weblog系统,公共记录数据库或简单的轮询应用程序。项目是特定网站的配置和应用程序的集合。项目可以包含多个应用程序。一个应用程序可以在多个项目中。

https://docs.djangoproject.com/en/dev/intro/tutorial01/#creating-models

如果你将它与youtube进行比较,那么整个youtube网站可能是一个大项目,其功能分为视频搜索,消息传递,个人资料/频道创建......如果结构更简单,你可以在一个地方保留不同的部分,随你(由你决定。我宁愿只开始分道扬声。


1
投票

official Django documentation: 1)应用程序是执行某些操作的Web应用程序,例如,博客系统 2)项目是特定网站的配置和应用程序的集合 3)项目可以包含多个应用程序。应用程序可以在多个项目中。

© www.soinside.com 2019 - 2024. All rights reserved.