如何在 Django 中将模型数据转换为 JSON?
Django 是一个基于Python的高级 Web 框架,允许快速开发和干净、实用的设计。它也被称为包含电池的框架,因为 Django 为包括 Django 管理界面、默认数据库 SQLlite3 等在内的所有内容提供了内置功能。
如何在 Django 中将模型数据转换为 Json 数据?
首先新建项目
django-admin startproject tryJson
cd tryJson
然后在您的项目中创建新应用程序
python manage.py startapp main
在 INSTALLED_APPS 中的tryJson/settings.py中添加您的主应用程序
在主应用程序中编辑models.py
Python3
from django.db import models
class Student(models.Model):
course_choices = (
('1','Java'),
('2','Python'),
('3','Javascript')
)
name = models.CharField(max_length=50)
rollno = models.IntegerField()
course = models.CharField(max_length=15,
choices = course_choices)
Python3
from django.urls import path
from . import *
urlpatterns = [
path("",views.jsondata,name = "jsondata"),
]
Python3
from django.http import JsonResponse
from .models import Students
def jsondata(request):
data list(Students.objects.values())
return JsonResponse(data,safe = False)
然后要创建模型,我们必须在 cmd 或终端中编写以下命令
python manage.py makemigrations
python manage.py migrate
所以我们创建了我们的模型 Students ,其中包含一些字段,如 name 、 roll no 、 course 。
将一些数据插入模型。
在主应用程序中创建一个新文件
网址.py
蟒蛇3
from django.urls import path
from . import *
urlpatterns = [
path("",views.jsondata,name = "jsondata"),
]
编写逻辑将模型数据转换为 Json 数据
视图.py
蟒蛇3
from django.http import JsonResponse
from .models import Students
def jsondata(request):
data list(Students.objects.values())
return JsonResponse(data,safe = False)
- 使用 values() 方法获取所有数据并使用 list()函数转换为列表并存储在变量中。
- 返回一个 JsonResponse 并传递数据并放置 safe = False
然后打开cmd或终端来运行这个应用程序
python manage.py runserver
输出 :-