在项目urls.py
中包含应用的网址时,我的编码合作伙伴会这样做:
('^stops/', include('stops.urls'))
但是,Django documentation指定以下语法:
('^clients/', include('project_name.app_name.urls'))
他的方式奏效了。是否有理由指定项目名称?
答案 0 :(得分:2)
这取决于您的PYTHONPATH
设置以及项目和应用的结构。
我们有很多项目。每个有几个应用程序。所有这些都在PYTHONPATH
上,因此项目名称是必不可少的。
如果您只有一个项目,并且顶级项目目录位于PYTHONPATH
上,那么每个应用程序都可以单独解析,您无法使用项目名称。
答案 1 :(得分:1)
这还取决于应用程序是否在您的项目中,或者是可重用的。
我为每个项目都有一个新的virtualenv,并为每个应用程序使用一个单独的mercurial存储库。然后将它们安装到系统路径中(以可编辑的形式进行开发,或以不可编辑的形式进行部署),这意味着<appname>
上有PYTHONPATH
。
答案 2 :(得分:0)
如果你在shell上运行
import this
你会看到有一个python的禅''显式比隐式更好''因此这就是指定项目名称的原因。