2012-09-11 105 views
2

我有一個虛擬機,並且我已經爲其本地使用了一個靜態IP地址。 192.168.1.23 我有127.0.0.1:8000在虛擬機上運行的django。我上的應用程序安裝django-debug-toolbar,然後應用以下設置:django調試工具欄不工作在虛擬機上的靜態IP地址

DEBUG = True 

INSTALLED_APPS += (
    'debug_toolbar', 
) 

INTERNAL_IPS = ('127.0.0.1', '192.168.1.23') 

DEBUG_TOOLBAR_CONFIG = {'INTERCEPT_REDIRECTS': False,} 

MIDDLEWARE_CLASSES += (
    'debug_toolbar.middleware.DebugToolbarMiddleware', 
) 

DEBUG_TOOLBAR_PANELS = (
    'debug_toolbar.panels.version.VersionDebugPanel', 
    'debug_toolbar.panels.timer.TimerDebugPanel', 
    'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel', 
    'debug_toolbar.panels.headers.HeaderDebugPanel', 
    'debug_toolbar.panels.request_vars.RequestVarsDebugPanel', 
    'debug_toolbar.panels.template.TemplateDebugPanel', 
    'debug_toolbar.panels.sql.SQLDebugPanel', 
    'debug_toolbar.panels.signals.SignalDebugPanel', 
    'debug_toolbar.panels.logger.LoggingPanel', 
) 

我不能看到它無論是在管理或網站。 什麼可能是錯的? 沒有HTML問題,頁面有一個body標籤。 什麼是可能的錯誤?

編輯:request.META['REMOTE_ADDR']是127.0.0.1

+0

中間件排序可能有問題嗎?在文檔中:「瞭解中間件排序和其他中間件可能會攔截請求並返回響應,例如,將調試工具欄中間件放在Flatpage中間件後面,意味着工具欄不會顯示在平板頁上。」 – demalexx

+0

你可以嘗試0)'( '127.0.0.1', '192.168.1.23', '')'1)'打印request.META [ 'REMOTE_ADDR']' – jpic

+0

不 - 192.168.1.23但192.168.1.25或whatver是你的瀏覽器的IP地址。 –

回答

4

這是爲我工作,其中XXX爲所需的IP-地址:

def custom_show_toolbar(request): 
    if request.META['REMOTE_ADDR'] == 'XXX.XXX.XXX.XXX': 
     return True 
    else: 
     return False 

DEBUG_TOOLBAR_CONFIG = { 
    'SHOW_TOOLBAR_CALLBACK': custom_show_toolbar, 
    'INTERCEPT_REDIRECTS': False, 
    } 

更新: 作爲1.0版本,SHOW_TOOLBAR_CALLBACK應該是一個虛線路徑,所以設置看起來更像:

DEBUG_TOOLBAR_CONFIG = { 
    'SHOW_TOOLBAR_CALLBACK': 'dotted.path.to.custom_show_toolbar', 
    'INTERCEPT_REDIRECTS': False, 
}