Django-debug-toolbar: urls.py рдореЗрдВ рдореЙрдбрд▓ рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ DjDT url рдХреЛ рдЙрд▓рдЯ рджреЗрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 14 рдЬрдире░ 2014  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: jazzband/django-debug-toolbar

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореБрдЭреЗ Django рдбреАрдмрдЧ рдЯреВрд▓рдмрд╛рд░ рдФрд░ uwsgi рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:

NoReverseMatch at /

u'djdt' is not a registered namespace

рдпрд╣ рдкрд╣рд▓реЗ uwsgi рдореЗрдВ рд╣реБрдЖ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рдореЙрдбрд▓ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдмрд╛рдж рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде django рд░рдирд░рд╡рд░ рдХреЛ рдкреИрдЪ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:

diff --git a/django/core/management/commands/runserver.py b/django/core/management/commands/runserver.py
index 391e0b4..02dadc7 100644
--- a/django/core/management/commands/runserver.py
+++ b/django/core/management/commands/runserver.py
@@ -89,7 +89,7 @@ class Command(BaseCommand):
         quit_command = (sys.platform == 'win32') and 'CTRL-BREAK' or 'CONTROL-C'

         self.stdout.write("Validating models...\n\n")
-        self.validate(display_num_errors=True)
+        #self.validate(display_num_errors=True)
         self.stdout.write((
             "%(started_at)s\n"
             "Django version %(version)s, using settings %(settings)r\n"

рдореИрдВрдиреЗ model.py рдореЗрдВ url рдкреИрдЪрд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ pdb рд▓рдЧрд╛рдпрд╛, рдФрд░ рдпрд╣ рдорд┐рд▓рд╛:

/usr/lib64/python2.7/threading.py(784)__bootstrap()
-> self.__bootstrap_inner()
  /usr/lib64/python2.7/threading.py(811)__bootstrap_inner()
-> self.run()
  /usr/lib64/python2.7/threading.py(764)run()
-> self.__target(*self.__args, *self.__kwargs)
  /usr/lib64/python2.7/SocketServer.py(593)process_request_thread()
-> self.finish_request(request, client_address)
  /usr/lib64/python2.7/SocketServer.py(334)finish_request()
-> self.RequestHandlerClass(request, client_address, self)
  django/core/servers/basehttp.py(150)__init__()
-> super(WSGIRequestHandler, self).__init__(*args, **kwargs)
  /usr/lib64/python2.7/SocketServer.py(649)__init__()
-> self.handle()
  /usr/lib64/python2.7/wsgiref/simple_server.py(124)handle()
-> handler.run(self.server.get_app())
  /usr/lib64/python2.7/wsgiref/handlers.py(85)run()
-> self.result = application(self.environ, self.start_response)
  django/contrib/staticfiles/handlers.py(72)__call__()
-> return self.application(environ, start_response)
  django/core/handlers/wsgi.py(255)__call__()
-> response = self.get_response(request)
  django/core/handlers/base.py(103)get_response()
-> resolver_match = resolver.resolve(request.path_info)
  django/core/urlresolvers.py(319)resolve()
-> for pattern in self.url_patterns:
  django/core/urlresolvers.py(347)url_patterns()
-> patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  django/core/urlresolvers.py(342)urlconf_module()
-> self._urlconf_module = import_module(self.urlconf_name)
  django/utils/importlib.py(35)import_module()
-> __import__(name)
  project/urls.py(5)<module>()
-> admin.autodiscover()
  mezzanine/boot/__init__.py(76)autodiscover()
-> django_autodiscover(*args, **kwargs)
  django/contrib/admin/__init__.py(29)autodiscover()
-> import_module('%s.admin' % app)
  django/utils/importlib.py(35)import_module()
-> __import__(name)
  django/contrib/auth/admin.py(179)<module>()
-> admin.site.register(Group, GroupAdmin)
  mezzanine/boot/lazy_admin.py(22)register()
-> super(LazyAdminSite, self).register(*args, **kwargs)
  django/contrib/admin/sites.py(98)register()
-> validate(admin_class, model)
  django/contrib/admin/validation.py(22)validate()
-> models.get_apps()
  django/db/models/loading.py(134)get_apps()
-> self._populate()
  django/db/models/loading.py(72)_populate()
-> self.load_app(app_name, True)
  django/db/models/loading.py(96)load_app()
-> models = import_module('.models', app_name)
  django/utils/importlib.py(35)import_module()
-> __import__(name)
  debug_toolbar/models.py(63)<module>()
-> patch_root_urlconf()
> debug_toolbar/models.py(51)patch_root_urlconf()
-> reverse('djdt:render_panel')
(Pdb) reverse('djdt:render_panel')
** ImproperlyConfigured: The included urlconf project.urls doesn't have any patterns in it

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ admin.autodiscover() рдореЙрдбрд▓ рдХреЛ urls.py рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдмрд╛рдж рдореЗрдВ urls.py рдореЗрдВ рдЕрднреА рддрдХ рдХреЛрдИ url рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдбреАрдмрдЧ_рдЯреВрд▓рдмрд╛рд░.рдореЙрдбрд▓ рдХреЛ url рдХреЛ рдЙрд▓рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@jonykwa рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ urls.py рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛?

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

рд╕рднреА 8 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХреГрдкрдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕реНрдкрд╖реНрдЯ рд╕реЗрдЯрдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ Django 1.7 рдЬрд╛рд░реА рд╣реЛрдиреЗ рддрдХ рд╕рдВрддреЛрд╖рдЬрдирдХ рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП: рдпрд╣рд╛рдВ рд╕реНрдкрд╖реНрдЯ рд╕реЗрдЯрдЕрдк рдХрд╛ рд▓рд┐рдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: http://django-debug-toolbar.readthedocs.org/en/1.0/installation.html#explicit -setup

рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ DEBUG_TOOLBAR_PATCH_SETTINGS = False to my settings.py рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдореБрдЭреЗ рдЕрднреА рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреЛрдИ рдФрд░ рд╡рд┐рдЪрд╛рд░?

+1 @jonykwa

@jonykwa рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ urls.py рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛?

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

рдореБрдЭреЗ рд╣рдорд╛рд░реЗ Django 1.5->1.6 рдЕрдкрдЧреНрд░реЗрдб рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ @clarkbarz рдФрд░ @avelis рджреЛрдиреЛрдВ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЛ рдХрд░рдирд╛ рдерд╛ред рдзрдиреНрдпрд╡рд╛рдж!

рдЬрдм рдЖрдкрдХреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рддреЛ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдХреБрдЫ рд╕рд╛рдзрд╛рд░рдг рдЪреАрдЬрд╝ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ url рдкреИрдЯрд░реНрди рд╕реЗ рдкрд╣рд▓реЗ urlpattern рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ urlpattern рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ:

if settings.DEBUG:
    import debug_toolbar
    urlpatterns += [
        url(r'^__debug__/', include(debug_toolbar.urls)),
    ]
urlpatterns += [  # DON'T FORGET THE '+=' HERE!
.....  
]

рдпрд╣рд╛рдВ settings.DEBUG рдХреЛ рдореЗрд░реА рд╕рд╛рдЗрдЯ url рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рдж рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдХрд┐ debug url рдкреИрдЯрд░реНрди site url рдкреИрдЯрд░реНрди рд╕реЗ рдкрд╣рд▓реЗ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ URLConf http://django-debug-toolbar.readthedocs.io/en/stable/installation.html#urlconf рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ

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


urlpatterns = [
    url(r'^tinymce/', include('tinymce.urls')),
    url(r'^admin/', admin.site.urls),
]

if settings.DEBUG:
    import debug_toolbar
    urlpatterns = [
        url(r'^__debug__/', include(debug_toolbar.urls)),
    ] + urlpatterns
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Atala picture Atala  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lfigueira picture lfigueira  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gw0 picture gw0  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tim-schilling picture tim-schilling  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mangobowl picture mangobowl  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ