2017-04-09 74 views
0

Django的1.11URL模式和Django的调试工具栏

我在读 “的Django的两勺”。 即关于多个设置文件和多个需求文件。

因此,建议分开base.py,local.py和production.py。

而对于base.py:

INSTALLED_APPS += ("debug_toolbar",) 

什么困扰我的是,Django的调试工具栏也需要一定的除了的urls.py:

from django.conf import settings 
from django.conf.urls import include, url 

if settings.DEBUG: 
    import debug_toolbar 
    urlpatterns = [ 
     url(r'^__debug__/', include(debug_toolbar.urls)), 
    ] + urlpatterns 

http://django-debug-toolbar.readthedocs.io/en/stable/installation.html#urlconf

这是我们应该要么接受调试和生产概念的混合,要么将它们分成多个文件。

我调查了这个问题。例如,这个链接: Django: Multiple url patterns starting at the root spread across files

但我仍然有点怀疑。

您能否给我一个建议:如何将这个Django Debut Toolbar与urlpatterns中的生产分开,最佳做法是什么?

回答

0

这种方法没有任何问题,因为只有一个URL配置文件存在于您的项目根目录中。所以if settings.DEBUG:部分,在你项目的根目录urls.py文件中对我来说看起来很好。

不过,如果你想完全独立的localproduction的URL,那么你可以这样来做:

  1. urls创建一个Python模块(就像你的设置做)
  2. 里面那个目录,创建base_urls.pylocal_urls.pyproduction_urls.py
  3. 里面的base_urls你应该把“全球性”的网址会适用于本地和生产。在local_urls内部放置了任何其他本地网址(如django-debug-toolbar)。最后,在您的制作中放入......呃制作网址。当然,local_urls.pyproduction_urls.py文件顶部应该有from .base_urls import *
  4. 之后,你应该在ROOT_URL_CONF设置改变ROOT_URL_CONF设定settings/local.py文件里面是"project.urls.local_urls"settings/production.py文件更改内部(再次)到"project.urls.production_urls"

现在,您有单独的urls文件,为每个环境。

相关问题