当前位置: 首页 > news >正文

杭州网站模板线上营销渠道主要有哪些

杭州网站模板,线上营销渠道主要有哪些,昆明企业免费建站,合肥电子商务开发网站建设目录 遇到问题 Django返回json结构报文 不可行方式python json 可行方式JsonResponseQuerySet.values()。 python的两个web框架,flask和django,两者都具有view 模板的章节,但是当前开发一个应用,大部分采用前后端分离的合作方式。…

目录

遇到问题

Django返回json结构报文

不可行方式python json

可行方式JsonResponse+QuerySet.values()。


python的两个web框架,flask和django,两者都具有view 模板的章节,但是当前开发一个应用,大部分采用前后端分离的合作方式。因此必然面对的一个事情就是接口返回json格式的数据报文。本文就是针对这个事情进行了阐述,遵从了从问题产生到方案选择的过程。

遇到问题

如下为使用Django的序列化器得到的json格式数据,可以很明显的发现,这个格式和理想的fieldName:fieldData形式存在较大的差异。

serializers.serialize('json', instance)[{"model": "polls.question",
	"pk": 1,
	"fields": {"question_text": "xxxxxxxxxxx?","pub_date": "2023-07-25T07:05:08Z"}
}, {"model": "polls.question",
	"pk": 2,
	"fields": {"question_text": "啊啊啊啊啊","pub_date": "2023-07-27T02:00:59Z"}
}]

Django返回json结构报文

通过这个问题,引出了本文要做的事情,在Django接口中,如何将数据模型实例转换为常规的json格式并返回。

不可行方式python json

dumps会出现序列化异常,Object of type xxxxx is not JSON serializable。

可行方式JsonResponse+QuerySet.values()。

values()返回由一系列字典实例构成的QuerySet。下面对比下使用和不使用values()得到的QuerySet有什么区别。

# 由模型对象构成.
>>> Blog.objects.filter(name__startswith="Beatles")
<QuerySet [<Blog: Beatles Blog>]># 由字典构成.
>>> Blog.objects.filter(name__startswith="Beatles").values()
<QuerySet [{'id': 1, 'name': 'Beatles Blog', 'tagline': 'All the latest Beatles news.'}]>

JsonResponse作为HttpResponse的子类,对返回数据进行json编码。

接下来是简单代码样例

定义一个APIResult class:

class APIResult(dict):
    def __init__(self, data):
        self['code'] = 200
        if isinstance(data, dict):print("data is dict")
            self['data'] = data
        elif isinstance(data, list):print("data is list")
            self['data'] = dataelse:print("data is not dict or list")
            self['data'] = list(data)

返回模型实例列表:

def question_list(request):
    query_set = Question.objects.all()[:5]
    result = APIResult(data=query_set.values())
    return JsonResponse(result, safe=False){"code": 200,
	"data": [{"id": 1,"question_text": "xxxxxxxxxxx?","pub_date": "2023-07-25T07:05:08Z"}, {"id": 2,"question_text": "\u554a\u554a\u554a\u554a\u554a","pub_date": "2023-07-27T02:00:59Z"}]
}

返回具体实例:

def question_detail(request, question_id):try:
        query_set = Question.objects.filter(pk=question_id)
    except Question.DoesNotExist:
        raise Http404("No question")    result = APIResult(data=query_set.values()[0])
    return JsonResponse(result){"code": 200,
	"data": {"id": 1,"question_text": "xxxxxxxxxxx?","pub_date": "2023-07-25T07:05:08Z"}
}

如果你对返回哪些字段有要求,可以向values()传入具体字段名,如values('id')。

{"code": 200, "data": [{"id": 1}, {"id": 2}]}

http://www.hkea.cn/news/905589/

相关文章:

  • 学校网站建设注意什么东莞网站营销推广
  • 网站设计模板是什么百度网盘人工客服电话多少
  • wordpress文章收缩长春seo优化企业网络跃升
  • 网站地图调用希爱力双效片骗局
  • 珠海网站建设维护友情链接买卖代理
  • 武汉企业网站推广外包网络广告营销案例分析
  • 深圳哪里有做网站的汕头seo排名收费
  • 如何用腾讯云主机做网站株洲发布最新通告
  • 中国建设银行官网站下载信息流广告投放公司
  • 合肥建站平台网络平台推广是干什么
  • 黄冈工程建设标准造价信息网优化工作流程
  • 怎么做服装外贸网站怎么去推广一个产品
  • 和各大网站做视频的工作总结软件推广赚佣金渠道
  • asp.net是做网站的吗企业文化培训
  • 有链接的网站怎么做seochan是什么意思
  • 开发公司 工程管理中存在问题seo人工智能
  • 网站卖给别人后做违法信息seo和点击付费的区别
  • 网站配色 绿色网络推广主要做什么
  • 个人网站制作多少钱公关公司的主要业务
  • 网站底备案号链接代码西安网络推广营销公司
  • 哪个网站开发是按月付费的百度指数是免费的吗
  • asp网站后台管理教程放单平台
  • 做网站毕设任务书网络营销网站建设案例
  • .net 企业网站 模版关键词seo深圳
  • 网站建设优化价格网站seo诊断
  • 网站设计详细设计有没有好用的网站推荐
  • 没有货源可以开网店吗网站更新seo
  • 淄博有做网站的吗百度搜索排名怎么收费
  • wordpress页面添加自定义字段木卢seo教程
  • 长寿网站制作保定seo排名外包