【问题标题】:What codes belongs in a Django app and what is the correct naming convention哪些代码属于 Django 应用程序以及正确的命名约定是什么
【发布时间】:2017-05-22 11:14:40
【问题描述】:

我最近开始使用 Django Web 应用程序开发,现在我想把木头放在箭头后面。

为了正确地完成这项工作,我重新开始并开始为我的 Web 应用程序考虑正确的命名约定。我已经阅读了这个blog article

到目前为止,我刚刚创建了一个名为 myproject 的项目,应用程序名为 myproject_app

我意识到,我的myproject_app 唯一要做的就是将models.py 与数据库方案一起使用,所以我想知道这是要走的路,还是我在某个地方走错了路。

app 只包含对我的数据库的描述,很难想出一个合适的名称,而不仅仅是在其后缀 _db 或类似的东西。

我的问题: 哪些代码属于 Django 应用程序,此类应用程序的适当命名约定是什么?

edit:我确实是通过this Stackoverflow question 来的,但它没有涵盖应该在 Django 应用程序中包含的代码,就像它在博客文章中没有涵盖那样。

【问题讨论】:

    标签: python django model-view-controller web-applications


    【解决方案1】:

    我认为这里没有正确的答案。有指导方针和最佳实践,但这并不意味着只有一种方法可以走。就命名约定而言,您展示的帖子非常准确。

    现在关于将代码放在哪里。我喜欢将应用程序视为解决特定问题的模块。请记住,这些应用程序不需要具有 models.py、views.py 和 urls.py。那是你的电话。因此,与该问题相关的所有模型都将在该应用程序中。视图也一样。

    例如,您有一个包含 4 个应用的电子商务项目。

        ecommerce/
            core/
                models.py
            web/
                views.py
                urls.py
            payment/
                views.py
                urls.py
                models.py
    

    核心应用可能具有所有应用都使用的模型,例如用户模型或自定义用户模型(如果有的话)。您正在销售的产品型号。这里没有视图,因为它没有显示任何内容。 Web 应用程序可能包含网页的一般视图:登录、注册、注销、主页、产品等。 支付应用可以有与支付相关的模型:Orders、PaymentMethods等。这个应用中的视图会有支付过程。 如果您有额外的 python 模块,您可以使用相同的逻辑将它们放置在每个应用程序中。

    再次,这是个人意见。 希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-06-28
      • 1970-01-01
      • 2010-09-20
      • 2011-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      • 2012-01-05
      相关资源
      最近更新 更多