【问题标题】:Project Name vs Application Name in DjangoDjango中的项目名称与应用程序名称
【发布时间】:2013-10-28 11:51:01
【问题描述】:

我正在尝试在 JetBrains PyCharm IDE 中创建一个新的 Django/Python 项目。 但是,在输入我的软件名称时,它会告诉我

“你不能像你的项目一样调用你的应用程序”。

为了完全理解 Django 中项目和应用程序之间的区别,我希望有人能够为一些已知的复合网站(如 Facebook、Gmail 和 YouTube)演示应用程序和项目之间的区别。

【问题讨论】:

    标签: python django pycharm


    【解决方案1】:

    我对 Facebook 的尝试:

    facebook
      users
      messages
      notifications
      posts
      ...
    

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

    在优秀的“Two Scoops of Django”book 中,作者引用了 James Bennett:

    创建和维护一个好的 Django 应用程序的艺术在于它 根据道格拉斯,应该遵循截断的 Unix 哲学 麦克罗伊:“编写只做一件事并做好的程序”。

    作者再次声明:

    从本质上讲,每个应用都应该专注于自己的任务。如果一个应用 不能用一个中等长度的句子来解释,或者你 需要说“和”不止一次,这可能意味着应用程序太大 应该分手。

    2014 年 19 月 12 日更新

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

    21/12/2017 更新

    Django 1.10 链接here.

    【讨论】:

    • 嗨。你能再做一次演示吗,这次是 Reddit?这真的有助于理解:) 谢谢!
    • @Reflection 如果您喜欢我的回答,那么您应该投票或将其标记为正确。
    • @Reflection 我自己不要使用 reddit。为什么需要一个具体的例子?只要你学会思考这个话题,你就不需要具体的答案。
    • 我需要一个具体的例子,因为我对它不是很有经验。
    • 好吧,你可能是对的。但是,为了完全理解这个概念,我认为我需要 Reddit 的示例。
    【解决方案2】:

    来自文档中的教程:

    项目与应用 项目和应用程序有什么区别?应用程序是做某事的 Web 应用程序——例如,Weblog 系统、公共记录数据库或简单的投票应用程序。项目是特定网站的配置和应用程序的集合。一个项目可以包含多个应用程序。一个应用可以在多个项目中。

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

    如果您将其与 youtube 进行比较,整个 youtube 网站可能是一个大项目,其功能分为视频搜索、消息传递、个人资料/频道创建等应用程序...如果结构更简单,您可以将不同的部分保留在一个地方,这取决于你。我更喜欢只开始在路上分解东西。

    【讨论】:

      【解决方案3】:

      official Django documentation

      1) 应用程序是做某事的 Web 应用程序,例如,博客系统
      2) 项目是特定网站的配置和应用程序的集合
      3) 一个项目可以包含多个应用程序。一个应用程序可以在多个项目中。

      【讨论】:

        【解决方案4】:

        应用程序可以是任何可以在网站上执行某些特定任务的东西。例如:银行域 -> 贷款申请、信用卡/借记卡申请等

        项目是特定网站的应用程序集合。例如:银行软件、Gmail、Facebook 等。

        参考:https://consideratecode.com/2017/12/29/django-app-project-site/

        【讨论】:

          猜你喜欢
          • 2017-11-17
          • 2016-01-23
          • 1970-01-01
          • 2017-01-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多