Вы можете инкапсулировать все другое промежуточное программное обеспечение. В своем внешнем промежуточном программном обеспечении, в process_request
, начните профилирование. Обычно я использую profile.enable()
и profile.disable()
с экземпляром cProfile.Profile
, это позволяет мне начинать и останавливать профилирование в произвольной точке, тогда как profile.runcall()
требует, чтобы вы вызывали фактическую функцию, которая не является промежуточным программным обеспечением в Django.
В своем внутреннем промежуточном программном обеспечении определите process_view()
, чтобы просто вернуть HttpResponse('')
. Таким образом, сам вид не вызывается и не будет включен в ваш профиль.
Затем, в своем внешнем промежуточном программном обеспечении, определите process_response()
, чтобы остановить профилирование и вывести профиль либо в браузер, либо в файл.
Функциональность промежуточного программного обеспечения может очень сильно зависеть от того, какой вид называется или какой URL-адрес доступен. – knbk