You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
592 B
15 lines
592 B
import json
|
|
|
|
from django.core.serializers.json import DjangoJSONEncoder
|
|
from django.http import HttpResponse
|
|
|
|
|
|
class JsonResponse(HttpResponse):
|
|
|
|
def __init__(self, data, encoder=DjangoJSONEncoder, safe=True, **kwargs):
|
|
if safe and not isinstance(data, dict):
|
|
raise TypeError('In order to allow non-dict objects to be '
|
|
'serialized set the safe parameter to False')
|
|
kwargs.setdefault('content_type', 'application/json')
|
|
data = json.dumps(data, cls=encoder)
|
|
super(JsonResponse, self).__init__(content=data, **kwargs)
|
|
|