Я использовал 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, время ответа безумно. Как я могу еще развернуть, чтобы понять, что происходит?
Панель инструментов Debug действительно полезна. Насколько я помню, django выполняет операции базы данных при каждом запросе для структуры сайтов и структуры auth. – Jingo