을 내 django 응용 프로그램과 함께 사용하려고하고 django v1.5에서 작동했습니다. 그러나, 나는 시스템을 장고 v1.6으로 마이그레이션하려고하는데, 페이지를로드하려고하면 다음과 같은 오류가 발생합니다.Django v1.6 디버그 도구 모음 미들웨어 오류 번호 .rsplit()
python manage.py runserver
Validating models...
0 errors found
December 21, 2013 - 22:53:18
Django version 1.6.1, using settings 'MySite.settings'
Starting development server at http://XXX.XXX.XXX.XXX:XXXX/
Quit the server with CONTROL-C.
Internal Server Error:/
Traceback (most recent call last):
File "/home/user/django-env/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 90, in get_response
response = middleware_method(request)
File "/home/user/django-env/local/lib/python2.7/site-packages/debug_toolbar/middleware.py", line 45, in process_request
mod_path, func_name = func_path.rsplit('.', 1)
AttributeError: 'function' object has no attribute 'rsplit'
[21/Dec/2013 22:53:21] "GET/HTTP/1.1" 500 58172
소스는이 메모를 가지고 있지만, 나는 그들이 정확하게 (import_by_path을) 무슨 뜻인지 잘 모르겠어요 :
def process_request(self, request):
# Decide whether the toolbar is active for this request.
func_path = dt_settings.CONFIG['SHOW_TOOLBAR_CALLBACK']
# Replace this with import_by_path in Django >= 1.6.
mod_path, func_name = func_path.rsplit('.', 1)
show_toolbar = getattr(import_module(mod_path), func_name)
if not show_toolbar(request):
return
을 또한, 우리는 그것에있어. 이 메시지가 무엇을 의미하는지 아는 것이 있습니까?
/home/user/django-env/local/lib/python2.7/site-packages/debug_toolbar/settings.py:68: DeprecationWarning: SHOW_TOOLBAR_CALLBACK is now a dotted path. Update your DEBUG_TOOLBAR_CONFIG setting.
"DEBUG_TOOLBAR_CONFIG setting.", DeprecationWarning)
내 settings.py :
def custom_show_toolbar(request):
return True # Always show toolbar, for example purposes only.
DEBUG_TOOLBAR_CONFIG = {
'INTERCEPT_REDIRECTS': False,
'SHOW_TOOLBAR_CALLBACK': custom_show_toolbar,
'INSERT_BEFORE': 'div',
'ENABLE_STACKTRACES' : True,
}
음 ... 실제로 게시하기 전에 제안한 것들 중 일부를 시도해 보았습니다. 설명서를 살펴 봤지만 명확하지 않았습니다. 오류가 명확하지 않으며 코드의 주석 오해의 소지가있었습니다. 또한 MySite.settings.custom_show_toolbar에 점선으로 된 경로를 사용하려고 시도했지만 작동하지 않았습니다. 마지막 해결책은 점선으로 된 경로를 사용하는 것이지만 문자열로 캡슐화하는 것입니다. 예 : 'SHOW_TOOLBAR_CALLBACK': 'MySite.settings.custom_show_toolbar''. 또는이 기능을 외부 설정 파일로 옮길 수는 있지만 설정을 유지했습니다. 피드백을 주셔서 감사합니다. 올바른 해결책을 찾았습니다. – James