【问题标题】:Urlpatterns and Django Debug ToolbarUrlpatterns 和 Django 调试工具栏
【发布时间】:2017-09-04 14:09:53
【问题描述】:

Django 1.11

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

所以,建议将base.py、local.py和production.py分开。

对于 base.py:

INSTALLED_APPS += ("debug_toolbar", )

让我烦恼的是,Django Debug Toolbar 还需要在 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 中的生产区分开来的最佳实践是什么。

【问题讨论】:

    标签: django


    【解决方案1】:

    这种方法没有任何问题,因为您的项目根目录中只有一个 URL conf 文件。因此,我在项目的根 urls.py 文件中的 if settings.DEBUG: 部分看起来不错。

    但是,如果您想完全分离 local 和 production 网址,那么您可以这样做:

    1. 为urls 创建一个python 模块(就像您为设置所做的那样)
    2. 在该目录中,创建您的base_urls.py、local_urls.py 和production_urls.py
    3. 在base_urls 中,您应该放置可用于本地和生产的“全局”网址。在 local_urls 中放置任何其他本地 URL(如 django-debug-toolbar)。最后,在您的生产中......呃生产网址。当然,local_urls.py 和 production_urls.py 文件的顶部应该有 from .base_urls import *。
    4. 之后,您应该将settings/local.py 文件中的ROOT_URL_CONF 设置更改为"project.urls.local_urls",并将settings/production.py 文件中的ROOT_URL_CONF 设置更改(再次)为"project.urls.production_urls"。

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

    【讨论】:

      猜你喜欢
      • 2017-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 2019-06-05
      • 2010-11-05
      • 2022-01-11
      • 2015-04-23
      相关资源
      最近更新 更多