json debug, 404
This commit is contained in:
parent
1b5ec862af
commit
a9398240d3
1 changed files with 15 additions and 3 deletions
|
@ -1,7 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# vi:si:et:sw=4:sts=4:ts=4
|
# vi:si:et:sw=4:sts=4:ts=4
|
||||||
|
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse, Http404
|
||||||
try:
|
try:
|
||||||
import simplejson
|
import simplejson
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
@ -13,8 +13,20 @@ def render_to_json_response(dictionary, content_type="text/json", status=200):
|
||||||
if settings.DEBUG:
|
if settings.DEBUG:
|
||||||
content_type = "text/javascript"
|
content_type = "text/javascript"
|
||||||
indent = 2
|
indent = 2
|
||||||
print simplejson.dumps(dictionary, indent=indent)
|
if settings.JSON_DEBUG:
|
||||||
|
print simplejson.dumps(dictionary, indent=2)
|
||||||
if 'status' in dictionary and 'code' in dictionary['status']:
|
if 'status' in dictionary and 'code' in dictionary['status']:
|
||||||
status = dictionary['status']['code']
|
status = dictionary['status']['code']
|
||||||
return HttpResponse(simplejson.dumps(dictionary, indent=indent), content_type=content_type, status=status)
|
return HttpResponse(simplejson.dumps(dictionary, indent=indent),
|
||||||
|
content_type=content_type, status=status)
|
||||||
|
|
||||||
|
def get_object_or_404_json(klass, *args, **kwargs):
|
||||||
|
from django.shortcuts import _get_queryset
|
||||||
|
queryset = _get_queryset(klass)
|
||||||
|
try:
|
||||||
|
return queryset.get(*args, **kwargs)
|
||||||
|
except queryset.model.DoesNotExist:
|
||||||
|
#FIXME: how to raise exception that will only output given result
|
||||||
|
results = simplejson.dumps({'status': {'code': 404,
|
||||||
|
'text': '%s not found' % queryset.model._meta.object_name}})
|
||||||
|
raise Http404(results)
|
||||||
|
|
Loading…
Reference in a new issue