Django是一個(gè)流行的Python Web框架,它提供了許多開箱即用的功能。其中一個(gè)重要的功能是數(shù)據(jù)庫查詢,同時(shí)把結(jié)果轉(zhuǎn)換為JSON格式。
要查詢數(shù)據(jù)庫并將結(jié)果轉(zhuǎn)換為JSON格式,請使用Django的queryset API和Python的json模塊。請看下面的示例:
from django.http import JsonResponse
from myapp.models import MyModel
def my_view(request):
my_model_queryset = MyModel.objects.all()
data = list(my_model_queryset.values())
return JsonResponse(data, safe=False)
這個(gè)視圖函數(shù)查詢了所有MyModel模型的實(shí)例,并將它們的值轉(zhuǎn)化為一個(gè)Python列表。然后,使用Django的JsonResponse類將該列表轉(zhuǎn)換為JSON格式,并將其作為響應(yīng)返回。
需要注意的一件事是'JsonResponse'第二個(gè)參數(shù)'safe'。如果安全設(shè)置為True(默認(rèn)值),則只允許序列化JSON可序列化的Python對象。由于我們正在序列化Python列表,我們需要將該參數(shù)設(shè)置為False。
當(dāng)然,這只是基本的例子。如果您想更加高級,您可以使用Django Rest Framework,它提供了許多序列化和反序列化幫助(默認(rèn)使用JSON格式)。
上一篇python 爬豆丁
下一篇python 牛頓下山法