当我不知道IP地址时如何在Heroku中使用Django Debug Toolbar这样:
INTERNAL_IPS = ('127.0.0.1', )
总是失败。
答案 0 :(得分:4)
显示调试工具栏与INTERNAL_IPS无关。这只是确保您只向实际开发人员展示它的默认方式。正如文档所解释的那样,您可以通过将函数SHOW_TOOLBAR_CALLBACK
定义为指向该函数的函数来为此提供自己的逻辑。因此,例如,您可以检查某个用户名,或者只返回True以确保它始终显示。
答案 1 :(得分:4)
我的settings.py中有以下内容,它在本地和部署到Heroku时都有效:
MIDDLEWARE_CLASSES = (
...
'debug_toolbar.middleware.DebugToolbarMiddleware'
...
)
if DEBUG is True:
INSTALLED_APPS += (
'debug_toolbar',
)
if DEBUG is True:
class AllIPS(list):
def __contains__(self, item):
return True
INTERNAL_IPS = AllIPS()
答案 2 :(得分:1)
阐述丹尼尔罗斯曼的答案,以下是如何为员工用户展示工具栏: 将函数的虚线路径分配给SHOW_TOOLBAR_CALLBACK
settings.py:
def show_toolbar(request):
return request.user.is_staff
DEBUG_TOOLBAR_CONFIG = {
# ...
'SHOW_TOOLBAR_CALLBACK': 'project.settings.show_toolbar',
}
答案 3 :(得分:0)
您可以将{{ request.META.REMOTE_ADDR }}
放入模板中,然后查看IP DJDT想要在INTERNAL_IPS
中看到的内容。 Documentation about request.META