view_base写法
# -*- coding: utf-8 -*-
__author__ = 'bobby'
from django.views.generic.base import View
from goods.models import Goods
# from django.views.generic import ListView
class GoodsListView(View):
def get(self, request):
"""
通过django的view实现商品列表页
:param request:
:return:
"""
json_list = []
goods = Goods.objects.all()[:10]
import json
from django.core import serializers
json_data = serializers.serialize('json', goods)
json_data = json.loads(json_data)
from django.http import HttpResponse, JsonResponse
return JsonResponse(json_data, safe=False)
demo
1.传统的 django view 返回json
- views_base.py
# _*_ coding: utf-8 _*_
__author__ = 'daxiahy'
__date__ = '2019/3/29 15:03'
from goods.models import Goods
from django.views.generic.base import View
class GoodsListView(View):
def get(self, request):
"""
通过django的view实现商品列表页
:param request:
:return:
"""
json_list = []
goods = Goods.objects.all()[:10]
for good in goods:
json_dict = {}
json_dict["name"] = good.name
json_dict["category"] = good.category.name
json_dict["market_price"] = good.market_price
# json_dict["add_time"] = good.add_time
json_list.append(json_dict)
from django.http import HttpResponse
import json
return HttpResponse(json.dumps(json_list), content_type="application/json")
urls.py
from goods.views_base import GoodsListView
# 商品列表页
url(r'^goods/$', GoodsListView.as_view(), name="goods-list"),
2通过django serializers返回json
# _*_ coding: utf-8 _*_
__author__ = 'daxiahy'
__date__ = '2019/3/29 15:03'
from goods.models import Goods
from django.views.generic.base import View
class GoodsListView(View):
def get(self, request):
"""
通过django的view实现商品列表页
:param request:
:return:
"""
goods = Goods.objects.all()[:2]
import json
from django.core import serializers
json_data =serializers.serialize("json", goods)
json_data = json.loads(json_data)
from django.http import JsonResponse
return JsonResponse(json_data, safe=False)