Django 是一款基于 Python 語(yǔ)言的 Web 開(kāi)發(fā)框架,擁有強(qiáng)大的 ORM、視圖、模板等功能。在 Django 中,我們可以輕松地將數(shù)據(jù)從數(shù)據(jù)庫(kù)中取出并返回給前端。但是,有時(shí)候我們需要在 Django 中將數(shù)據(jù)轉(zhuǎn)換為 JSON 格式,并將其返回給前端。下面是一些關(guān)于 Django 中 HTML 返回 JSON 的例子:
首先,我們需要在 views.py 中定義一個(gè)處理請(qǐng)求的函數(shù):
from django.http import JsonResponse
def json_response(request):
data = {'name': 'Tom', 'age': 25}
return JsonResponse(data)
在這個(gè)例子中,我們定義了一個(gè)名為 `json_response` 的函數(shù),并在其中定義了一個(gè) Python 字典對(duì)象 `data`。然后,我們使用 `JsonResponse` 函數(shù)將這個(gè)字典對(duì)象轉(zhuǎn)換為 JSON 格式,并將其返回給前端。
接下來(lái),我們?cè)?urls.py 中定義一個(gè)路由規(guī)則,將請(qǐng)求路徑與我們定義的視圖函數(shù)相對(duì)應(yīng):from django.urls import path
from .views import json_response
urlpatterns = [
path('json/', json_response),
]
在這個(gè)例子中,我們定義了一個(gè)路徑為 `/json` 的路由規(guī)則,并將其與我們定義的 `json_response` 視圖函數(shù)相對(duì)應(yīng)。這樣,當(dāng)用戶請(qǐng)求路徑為 `/json` 時(shí),我們定義的 `json_response` 函數(shù)會(huì)被調(diào)用。
最后,在前端頁(yè)面上,我們可以使用 AJAX 技術(shù)向服務(wù)器發(fā)送請(qǐng)求,并接收返回的 JSON 數(shù)據(jù)。以下是一個(gè)簡(jiǎn)單的 HTML 模板:<!DOCTYPE html>
<html>
<head>
<title>JSON Response</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<div id="data"></div>
<script>
$.ajax({
url: "/json/",
type: "GET",
success: function(response) {
$('#data').append('<p>Name: ' + response.name + '</p>');
$('#data').append('<p>Age: ' + response.age + '</p>');
}
});
</script>
</body>
</html>
在這個(gè)例子中,我們使用 jQuery 的 AJAX 函數(shù)向服務(wù)器發(fā)送請(qǐng)求,并在成功回調(diào)函數(shù)中接收返回的 JSON 數(shù)據(jù)。然后,我們將數(shù)據(jù)分別添加到 HTML 頁(yè)面的 `` 標(biāo)簽中。 通過(guò)這些例子,我們可以看到在 Django 中,使用 `JsonResponse` 函數(shù)將數(shù)據(jù)轉(zhuǎn)換為 JSON 格式并返回給前端是非常簡(jiǎn)單的。這為我們提供了很多便利,使我們可以輕松地構(gòu)建具有高度交互性和數(shù)據(jù)傳輸能力的 Web 應(yīng)用程序。
上一篇vue中多選框