Django查询数据库返回的查询序列(Qureysets)转成JSON问题

本文探讨了在Django中如何将数据库查询结果(Querysets)转换为JSON,并解决了在前端使用ajax接收数据时遇到的UTF-8编码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

def showallinfo(request):
    articles = Article.objects.all()
    print(len(articles))
    print(type(articles))
    return HttpResponse(json.dumps(list(articles), default=lambda obj: obj.__dict__), content_type='application/json')
[{"_state": {"db": "default", "adding": false}, "id": 1, "sourceName": "\u767e\u5ea6", "sourceUrl": "www.baidu.com", "articleUrl": "dsfsdfsdfsdfsdfsdf", "title": "\u4f60\u597d", "author": "\u6155\u67d0", "publishTime": "28823", "articleCategory": "\u7b2c\u4e09\u65b9", "articleLable": "\u58eb\u5927\u592b\u5927\u5e08\u5085", "articleContent": "\u5927\u5e08\u5085\u4f3c\u7684", "imageUrlList": "\u58eb\u5927\u592b\u5927\u5e08\u5085", "imageTitleList": "\u554a\u6253\u7b97", "articleFromName": "\u554a\u5b9e\u6253\u5b9e", "articleFromUrl": "\u554a\u5b9e\u6253\u5b9e\u7684"}, {"_state": {"db": "default", "adding": false}, "id": 2, "sourceName": "360", "sourceUrl": "\u6740\u6740\u6740", "articleUrl": "\u80dc\u591a\u8d1f\u5c11", "title": "\u9632\u5b88\u6253\u6cd5", "author": "\u58eb\u5927\u592b", "publishTime": "\u58eb\u5927\u592b\u58eb\u5927\u592b", "articleCategory": "\u58eb\u5927\u592b", "articleLable": "\u5fae\u8f6f", "articleContent": "\u5fae\u8f6f", "imageUrlList": "\u5fae\u8f6f", "imageTitleList": "\u98ce\u683c", "articleFromName": "\u5982\u679c", "articleFromUrl": "\u5973"}, {"_state": {"db": "default", "adding": false}, "id": 3, "sourceName": "\u58eb\u5927\u592b", "sourceUrl": "\u7b2c\u4e09\u65b9", "articleUrl": "\u7684", "title": "\u5730\u65b9", "author": "\u98ce\u683c", "publishTime": "\u4eba", "articleCategory": "\u513f\u7ae5", "articleLable": "\u513f\u7ae5", "articleContent": "\u98ce\u683c", "imageUrlList": "\u89c4\u5212", "imageTitleList": "\u5927\u6982", "articleFromName": "\u8c46\u8150\u5e72", "articleFromUrl": "\u5927\u6982"}]

前端用ajax接受数据显示的时候用utf-8编码格式,可以解决编码问题了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值