Django-debug-toolbar: рдЕрдиреБрд░реЛрдзрд┐рдд URL рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдордИ 2012  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: jazzband/django-debug-toolbar

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХреЛрдИ рднреА Django рдбреАрдмрдЧ рдЯреВрд▓рдмрд╛рд░ рдХреЛ рдХрдм рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реИ рдФрд░ рдХрдм рдирд╣реАрдВ, рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЬрдЯрд┐рд▓ рддрдВрддреНрд░ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ (рдЬреИрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдкреА рдЬрд╛рдВрдЪрдирд╛) рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрди рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЯреВрд▓рдмрд╛рд░ рдХреЛ _рдлрд╝рд┐рд▓реНрдЯрд░ рдЖрдЙрдЯ (рджрд┐рдЦрд╛рдирд╛ рдирд╣реАрдВ) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рд╕реБрдЭрд╛рддрд╛ рд╣реВрдВ рдЬрд┐рдирдХреЗ URL рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреИрдЯрд░реНрди_ (рдпрд╛ рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди) рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдЖрдк Django рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рдбреАрдмрдЧ рдЯреВрд▓рдмрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП '^admin/' рдЕрдВрддрд░реНрдЧрдд рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рдЯреВрд▓рдмрд╛рд░ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рдЫреЛрдЯреЗ рдЖрдИрдлреНрд░реЗрдо рд╡рд╛рд▓реЗ рдкреГрд╖реНрда рд╣реИрдВ рдФрд░ рдЖрдк рдХреЗрд╡рд▓ рдмрд╛рд╣рд░реА Django рдРрдк рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рди рдХрд┐ рдЫреЛрдЯреЗ рдЖрдИрдлреНрд░реЗрдо рдореЗрдВ - рдпрд╣рд╛рдВ рдЖрдИрдлреНрд░реЗрдо рдРрдк рдХреЗ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рдЯреВрд▓рдмрд╛рд░ рдХреЛ рдЫрд┐рдкрд╛рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕рд▓рд┐рдП рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдзрд┐рдд URL рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬрд╣рд╛рдВ рдЯреВрд▓рдмрд╛рд░ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рд╡рд╣рд╛рдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╣реЛрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╛ рддреЛ рдПрдХ рдЬрдЯрд┐рд▓ рд░реЗрдЧреЗрдХреНрд╕ рдпрд╛ рд╕рд░рд▓ рд░реЗрдЧреЗрдХреНрд╕ рдХреА рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ:

DEBUG_TOOLBAR_CONFIG = ( ... 'HIDE_FILTER_URL': '^admin/|^myapp/someview', ... )
or
DEBUG_TOOLBAR_FILTER_URL = ('^admin/', '^myapp/someview')

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

рдореИрдВрдиреЗ рдЙрд╕реА рдореБрджреНрджреЗ рдкрд░ рдХрджрдо рд░рдЦрд╛ рдФрд░ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдпреВрдЖрд░рдПрд▓ рд╕реЗ рдЯреВрд▓рдмрд╛рд░ рдХреЛ рддреБрд░рдВрдд рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдкреИрдЯрд░реНрди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рдкрд░ gw0 рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред рдмрд╕ рдПрдХ рдЗрд╢рд╛рд░рд╛ред

рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ, рд╕рд░реНрд╡рд╢рдХреНрддрд┐рдорд╛рди рдбрд┐рдмрдЧ-рдЯреВрд▓рдмрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рд╣реИред рддреБрдо рд▓реЛрдЧ рдХрдорд╛рд▓ рдХреЗ рд╣реЛ!

рдЕрдм рдЬрдмрдХрд┐ #324 рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╡рд╛рдХрдИ рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рдХреИрд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░реЗрдВрдЧреЗ:

from debug_toolbar.middleware import show_toolbar

def custom_show_toolbar(request):
    return show_toolbar(request) and not request.path.startswith('/admin/')

рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрдк URL рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░реЗрдВрдЧреЗ:

from debug_toolbar.middleware import show_toolbar

excluded_urls = ['/foo', '/bar']

def custom_show_toolbar(request):
    excluded = any(request.path.startswith(url) for url in excluded_urls)
    return show_toolbar(request) and not excluded

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпреВрдЖрд░рдПрд▓ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдПрд╕рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рдЗрд╕ рд╡рд░реНрдЧ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрди рдкрд╛рдпрдерди рдПрдХ рдЙрдкрдпреБрдХреНрдд рдЙрдкрдХрд░рдг рд╣реИред

рд╡реИрд╕реЗ рднреА рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдпрд╣рд╛рдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ from debug_toolbar.middleware import show_toolbar рд▓рд╛рдЗрди Django рдбреАрдмрдЧ рдЯреВрд▓рдмрд╛рд░ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рдмрджрд▓рд╛рд╡ рдХреЛ рдкрдврд╝рд╛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред рдореЗрд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

def custom_show_toolbar(request):
    from debug_toolbar.middleware import show_toolbar

    return show_toolbar(request) and not request.path.startswith("/graphql")

DEBUG_TOOLBAR_CONFIG = {"SHOW_TOOLBAR_CALLBACK": custom_show_toolbar}
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕