2017-04-09 27 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文件,爲每個環境。