色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

django返回三級聯動json數據

老白2年前8瀏覽0評論

Django是一個強大的Web框架,在后端開發中廣泛應用。在前后端分離的開發中,經常需要后端返回一些JSON格式的數據。本文就來介紹如何使用Django返回三級聯動的JSON數據。

三級聯動的JSON數據一般用于省市區的選擇,常用于表單的聯動選擇中。首先在Django中定義三個Model來表示省市區,代碼如下:

class Province(models.Model):
name = models.CharField(max_length=50)
def __str__(self):
return self.name
class City(models.Model):
name = models.CharField(max_length=50)
province = models.ForeignKey(Province, on_delete=models.CASCADE)
def __str__(self):
return self.name
class District(models.Model):
name = models.CharField(max_length=50)
city = models.ForeignKey(City, on_delete=models.CASCADE)
def __str__(self):
return self.name

在views.py中,定義一個函數用于處理請求,并返回JSON類型的數據。需要使用Django的serializer庫來對Model進行序列化。

from django.core import serializers
from django.http import HttpResponse
from .models import Province, City, District
def get_district(request, city_id):
district_list = District.objects.filter(city=city_id)
data = serializers.serialize('json', district_list)
return HttpResponse(data, content_type='application/json')

接著,在前端使用ajax來請求這個URL,獲取到對應城市下的區縣數據,并將其渲染到相應的下拉框中。

function getDistrict(city_id) {
$.ajax({
url: '/api/get_district/' + city_id + '/',
type: 'GET',
dataType: 'json',
success: function(data) {
$("#district").empty();
$.each(data, function(index, item) {
$("#district").append("");
});
}
});
}

以上就是在Django中返回三級聯動的JSON數據的過程。需要注意的是,返回的JSON數據中可能會出現中文亂碼問題,需要在HttpResponse中添加content_type參數來指定編碼類型。