用 2 行代码将 Django 模型数据转为 JSON 数据


在本文中,我们将学习一个巧妙的技巧,直接将 Django 模型数据转换为 JSON 数据。有时,我们需要以 JSON 格式返回模型数据;还可以将其用于制作 API,或者只是以 JSON 格式将简单数据显示给我们的前端。JSON 易于访问,因此确实很有用。

示例

创建 Django 项目和应用。

settings.py 中,在 INSTALLED_APPS 中添加应用名称。

在项目主目录的 urls.py 中,添加以下行 −

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
   path('admin/', admin.site.urls),
   path('',include('modeltojson.urls'))
]

这里我们添加了我们应用的 urls.py

在应用的 urls.py 中,添加以下行 −

from django.urls import path
from . import views
urlpatterns = [
   path('',views.home,name="home")
]

这里我们渲染了我们的 home 视图,很简单。

models.py 中,添加以下行 −

from django.db import models

# Create your models here.
class EmployeeData(models.Model):
   name=models.CharField(max_length=100)
   Salary=models.CharField(max_length=100)
   department=models.CharField(max_length=100)

这里,我们创建了我们的模型并添加一些用于测试和尝试的虚拟数据。

admin.py 中,添加以下行 −

from django.contrib import admin
from .models import EmployeeData

# Register your models here.
admin.site.register(EmployeeData)

这里,我们只是将我们的 EmployeeData 模型注册到管理员页面。

views.py 中,添加以下行

from django.http import JsonResponse
from .models import EmployeeData
# Create your views here.
def home(request):
   data=list(EmployeeData.objects.values())
   return JsonResponse(data,safe=False)

这里,我们使用模型数据的 .value() 函数创建了所有键值列表,然后将其渲染为 JSON 响应。

现在一切完成,别忘了添加一些随机数据。

输出


[
   {
      "id": 1,
      "name": "Ross Taylor",
      "Salary": "1 lakh",
      "department": "Technical"
   },
   {
      "id": 2,
      "name": "Rohit Sharma",
      "Salary": "2 lakh",
      "department": "Sales"
   },
   {
      "id": 3,
      "name": "Steve Smith",
      "Salary": "3 lakh",
      "department": "Sales"
   }
]

更新于: 25-8-2021

2K+ 浏览

开始你的职业生涯

通过完成课程获得认证

开始
广告