def show_internals(request): apps_info = [] for app in get_apps(): model_info = [] for model in get_models(app): model_info.append({ "name":model._meta.object_name, }) apps_info.append({ "app_name": app.__name__, "app_models": model_info, }) # Information about the current used url patterns urlpatterns = UrlPatternInfo().get_url_info() # Create a dict from RequestContext request_context = RequestContext(request) keys = set() for context_dict in request_context.dicts: keys = keys.union(set(context_dict.keys())) request_context_info = {} for key in keys: request_context_info[key] = request_context[key] try: cnonce_size = sys.getsizeof(CNONCE_CACHE) # New in version 2.6 except (AttributeError, TypeError): # PyPy raised a TypeError cnonce_size = None context = { "title": "Show internals", "pid": os.getpid(), "cache_information": LocalSyncCache.get_cache_information(), "permissions": Permission.objects.all(), "urlpatterns": urlpatterns, "request_context":hightlighted_pformat(request_context_info), "settings": hightlighted_pformat(get_safe_settings()), "db_backend_name": backend.Database.__name__, "db_backend_module": backend.Database.__file__, "db_backend_version": getattr(backend.Database, "version", "?"), "apps_info": apps_info, "db_table_names": sorted(connection.introspection.table_names()), "django_tables": sorted(connection.introspection.django_table_names()), "request_meta": hightlighter.make_html( pformat(request.META), source_type="py", django_escape=True ), "request_session": hightlighter.make_html( pformat(dict(request.session)), source_type="py", django_escape=True ), "sys_path": sys.path, "os_environ": os.environ, # Information of the cache usage # from FetchFromCacheMiddleware (if settings.COUNT_FETCH_FROM_CACHE != True: all values are None): "local_cache_requests": LOCAL_CACHE_INFO["requests"], "local_cache_request_hits": LOCAL_CACHE_INFO["request hits"], "global_cache_requests": cache.get(CACHE_REQUESTS), "global_cache_request_hits": cache.get(CACHE_REQUEST_HITS), # from UpdateCacheMiddleware (if settings.COUNT_UPDATE_CACHE != True: all values are None): "local_cache_responses": LOCAL_CACHE_INFO["responses"], "local_cache_response_hits": LOCAL_CACHE_INFO["response hits"], "global_cache_responses": cache.get(CACHE_RESPONSES), "global_cache_response_hits": cache.get(CACHE_RESPONSE_HITS), # Information about auth cnonce usage: "cnonce_count": len(CNONCE_CACHE), "cnonce_size": cnonce_size, "used_cnonces": tuple(sorted(CNONCE_CACHE.keys())), } return context
def setUp(self): settings.DEBUG = False CNONCE_CACHE.clear() # delete all used client-nonce values self.client = Client() # start a new session
def setUp(self): settings.DEBUG = False cache.clear() CNONCE_CACHE.clear() # delete all used client-nonce values self.client = Client() # start a new session