2013-08-30 6 views
0

Я использовал this post, чтобы профиль ajax django с ответом json. На сегодняшний день наибольшими являются присоски:отладка длинных дат ответа django из-за неожиданных запросов db

ncalls tottime percall cumtime percall filename:lineno(function) 
     1 1.502 1.502 1.502 1.502 c:\python27\lib\socket.py:336(read) 
     1 1.501 1.501 1.501 1.501 c:\users\jonathan\virtual_environments\myapp\lib\site-packages\psycopg2\__init__.py:119(connect) 
     2 0.749 0.375 0.749 0.375 c:\users\jonathan\virtual_environments\myapp\lib\site-packages\django\db\backends\postgresql_psycopg2\base.py:50(execute) 
     1 0.245 0.245 0.245 0.245 c:\python27\lib\socket.py:406(readline) 
     2 0.240 0.120 1.741 0.871 c:\users\jonathan\virtual_environments\myapp\lib\site-packages\django\db\backends\postgresql_psycopg2\base.py:157(_cursor) 

Эй, что это?!? Доступ к базе данных postgresql? Но код представления даже не имеет доступа к базе данных!

@login_required 
@debug_ajax 
@json_error_on_exception 
def my_ajax_view(request): 
    json_response = redis_conn.get('precompiled-json-response') 
    return HttpResponse(json_response, mimetype='application/json') 

Я проверил декоратор и только Джанго Auth родной @login_required подозреваемый.
Как я могу отладить это? Как я могу просмотреть выпущенные запросы?
Даже если auth запрашивает db, время ответа безумно. Как я могу еще развернуть, чтобы понять, что происходит?

+0

Панель инструментов Debug действительно полезна. Насколько я помню, django выполняет операции базы данных при каждом запросе для структуры сайтов и структуры auth. – Jingo

ответ

1

Установить Django Debug Toolbar. Посмотрите время ответа и время запроса sql.

+0

Я думал, что [Django Debug Toolbar не поддерживает json-запросы ajax] (http://stackoverflow.com/a/5126825/348545) – Jonathan