代码之家  ›  专栏  ›  技术社区  ›  cincodenada

将思想从CakePHP转移到Django-一个整体视图文件?

  •  4
  • cincodenada  · 技术社区  · 14 年前

    但是我对如何创建视图感到困惑(这对MVC中的控制器来说是一个粗略的分析,对吧?)。我看到的例子只有一个 views.py 有这样的方法 index() , view() 但如果我有一堆用户创建并拥有他们可以共享的小部件,例如,我希望 /users/view 那就跑 视图() /widgets/view 那就跑 对于widgets模型。

    我看不出有什么办法能把它们分开,也不知道正确的/常规的/正确的方法是什么。我可能也不太明白Django做事的方式。我应该有方法吗 view.py 是的 user_view widget_view

    或者我应该 user_view.py user/view.py 包含 索引() ? 我可以从URL路由中引用这些吗?Django和这类东西通常是怎么做的?

    this answer ,但我想问的更多的问题是,什么是惯例,什么是思考这些事情的正确方式。

    1 回复  |  直到 8 年前
        1
  •  6
  •   Daniel Roseman    14 年前

    views.py . urlconf(在 urls.py

    一种明显的方法是将内容分离到单独的应用程序中,这在文档中有很好的介绍—您还可以为每个应用程序和用途使用单独的url.py文件 include 在主站点级别的url.py中包含所有子文件。

    但是没有什么能阻止你将一个应用程序中的视图细分为多个文件——比如创建一个 views __init__.py 以及任意多的其他视图文件。

    或者,如果您确实有只与特定模型相关联的视图——您会惊讶地发现很少有这种情况——同样,您可以将视图作为模型类本身的类方法。视图所要做的就是接受请求和任何其他参数,并返回响应。