我很好奇是否有一种合理的方式将(令人惊叹的)django-debug-工具栏用于AJAX查询。
例如,我使用一个带有一堆参数的jQuery $.get来访问一个Django URL并将其内联加载。如果我有一个错误,它不会在工具栏上注册。我也不能通过复制AJAX URL来使用它,因为DDT附加到响应的body标记,并且在AJAX响应中包含body标记没有任何意义。
任何方向都会有帮助!谢谢!
发布于 2013-10-17 13:55:51
我以前也遇到过同样的问题!随着我开发越来越多的AJAX密集型应用程序,我发布了一个Django Application和一个Chrome extension,它们一起解决了这个问题。
所有信息都在github存储库中。
发布于 2014-07-29 22:13:00
更新:此功能现已内置到django-debug-toolbar中
它是在此PR中添加的,并在3.0版中发布
旧的答案对于旧版本的工具栏可能仍然有用:
我编写了可以添加到Django Debug Toolbar中的Request History Panel for Django Debug Toolbar,以查看当前请求之外的其他请求(包括AJAX请求)。
通过pip安装:
pip install django-debug-toolbar-request-history在settings.py中,将'ddt_request_history.panels.request_history.RequestHistoryPanel'添加到DEBUG_TOOLBAR_PANELS,例如:
DEBUG_TOOLBAR_PANELS = [
'ddt_request_history.panels.request_history.RequestHistoryPanel', # Here it is
'debug_toolbar.panels.versions.VersionsPanel',
'debug_toolbar.panels.timer.TimerPanel',
'debug_toolbar.panels.settings.SettingsPanel',
'debug_toolbar.panels.headers.HeadersPanel',
'debug_toolbar.panels.request.RequestPanel',
'debug_toolbar.panels.sql.SQLPanel',
'debug_toolbar.panels.templates.TemplatesPanel',
'debug_toolbar.panels.staticfiles.StaticFilesPanel',
'debug_toolbar.panels.cache.CachePanel',
'debug_toolbar.panels.signals.SignalsPanel',
'debug_toolbar.panels.logging.LoggingPanel',
'debug_toolbar.panels.redirects.RedirectsPanel',
'debug_toolbar.panels.profiling.ProfilingPanel',
]发布于 2013-08-07 20:36:34
我最近遇到了这个问题。我的快速而有效的解决方案就是添加一些HTML视图来灵活处理相同的代码。
例如,如果我在NewRelic中看到我的网站90%的时间都花在对/search_for_book?title=的ajax调用上,我的代码可能如下所示:
views.py:
def search_for_book(request, title):
data = _search_for_book(title)
return json_response(data)
def test_search_for_book(request, title):
data = _search_for_book(title)
return http_response(data)瓶颈将在_search_for_book代码中的某个地方;我们是否通过ajax调用它与诊断它的低效无关(至少在我的例子中是这样;YMMV)
https://stackoverflow.com/questions/5124975
复制相似问题