【问题标题】:Django: When doing an include of URL's, should I specify project.app or just appDjango:在包含 URL 时,我应该指定 project.app 还是只指定 app
【发布时间】:2010-11-19 00:25:51
【问题描述】:
当在项目的urls.py 中包含应用的 URL 时,我的编码伙伴会这样做:
('^stops/', include('stops.urls'))
但是,Django documentation 指定以下语法:
('^clients/', include('project_name.app_name.urls'))
他的方法奏效了。是否有理由指定项目名称?
【问题讨论】:
标签:
python
django
django-urls
【解决方案1】:
这取决于您的 PYTHONPATH 设置以及您的项目和应用的结构。
我们有很多很多项目。每个都有几个应用程序。都在我们的PYTHONPATH,所以项目名称是必不可少的。
如果你只有一个项目,而顶层项目目录在你的PYTHONPATH,那么每个应用都可以单独解析,不能使用项目名。
【解决方案2】:
这还取决于应用程序是在您的项目中,还是一个可重用的应用程序。
我为每个项目都有一个新的 virtualenv,并为每个应用程序使用一个单独的 mercurial 存储库。然后将它们安装到系统路径中(以可编辑形式用于开发,或以不可编辑形式用于部署),这意味着我在PYTHONPATH 上有<appname>。
【解决方案3】:
如果在你运行的 shell 上
导入这个
你会看到有很多 python ''显式优于隐式'',因此这就是指定项目名称的原因。