Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Example on how to debug Tastypie using Django Debug Toolbar
def html_decorator(func):
"""
This decorator wraps the output in html.
(From http://stackoverflow.com/a/14647943)
"""
def _decorated(*args, **kwargs):
response = func(*args, **kwargs)
wrapped = ("<html><body>",
response.content,
"</body></html>")
return HttpResponse(wrapped)
return _decorated
@html_decorator
def debug(request):
"""
Debug endpoint that uses the html_decorator,
"""
path = request.META.get("PATH_INFO")
api_url = path.replace("debug/", "")
view = urlresolvers.resolve(api_url)
accept = request.META.get("HTTP_ACCEPT")
accept += ",application/json"
request.META["HTTP_ACCEPT"] = accept
res = view.func(request, **view.kwargs)
return HttpResponse(res._container)
# And finally attach debug to urls (if settings is on)
if settings.DEBUG:
urlpatterns += patterns('',
url(r'^debug/', debug),
)
"""
Usage:
Lets say your original endpoint is this:
http://example.com/api/v1/cities/
You use the following url the debug it
http://example.com/api/debug/v1/cities/
"""
@nokome

This comment has been minimized.

Copy link

commented Sep 21, 2015

@marteinn: just what I was looking for, thanks!

@olifante

This comment has been minimized.

Copy link

commented Oct 27, 2015

@marteinn: also worked for me, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.