Django-Rest框架UJSON呈现器
drf-ujson2的Python项目详细描述
Django-Rest框架UJSON呈现器
使用ujson的Django Rest框架呈现器
安装
pip install drf_ujson2
然后,您可以将UJSONRenderer
类设置为settings.py
中的默认呈现器
REST_FRAMEWORK={'DEFAULT_RENDERER_CLASSES':('drf_ujson.renderers.UJSONRenderer',),...}
您还可以将UJSONParser
类设置为settings.py
中的默认解析器
基准
这平均比默认的JSON序列化程序快2.3倍。在
importtimeitsetup='''from proposals.models import Proposalfrom proposals.serializers import ProposalSerializerfrom rest_framework.renderers import JSONRendererfrom drf_ujson.renderers import UJSONRendererproposals = Proposal.objects.all()serialized = ProposalSerializer(proposals, many=True).data'''stdlib_test='''JSONRenderer().render(serialized)'''ujson_test='''UJSONRenderer().render(serialized)'''stdlib_result=timeit.repeat(stdlib_test,setup=setup,number=1,repeat=10)ujson_result=timeit.repeat(ujson_test,setup=setup,number=1,repeat=10)printstdlib_resultprintsum(stdlib_result)/10printujson_resultprintsum(ujson_result)/10# stdlib results[0.004502058029174805,0.004289865493774414,0.006896018981933594,0.0048198699951171875,0.004084110260009766,0.007154941558837891,0.003937959671020508,0.004029035568237305,0.004770040512084961,0.004539966583251953]# avg0.00490238666534# ujson results[0.0016620159149169922,0.001817941665649414,0.0015261173248291016,0.0040950775146484375,0.0021469593048095703,0.001798868179321289,0.001569986343383789,0.0019931793212890625,0.0017120838165283203,0.001814126968383789]# avg0.00201363563538
- 项目
标签: