为了账号安全,请及时绑定邮箱和手机立即绑定

请问django views怎么返回json?

请问django views怎么返回json?

宝慕林4294392 2019-08-20 18:14:01
django views怎么返回json
查看完整描述

4 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

直接利用python提供的json包,在django model的定义中增加一个方法toJSON,利用django model 能访问 _meta.fields 得到相关属性而得到,例子如下:

class Category(models.Model):
autoid = models.AutoField(primary_key=True)
email=models.CharField(max_length=150,blank=False)
comtype=models.CharField(max_length=20,blank=False)
catname=models.CharField(max_length=150,blank=False)

def __unicode__(self):
return '%s' % (self.catname)

def toJSON(self):
import json
return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))

然后用django查出数据,并转换成json,代码如下:

row=models.Category.objects.get(autoid=23)
print row.toJSON()

查看完整回答
反对 回复 2019-08-24
?
白衣非少年

TA贡献1155条经验 获得超0个赞

在firefox中按F12,进入开发者工具,然后选到网络标签,再打开需要返回JSON的页面,就可以看到相应的数据,如下图所示: 1、点重新载入 2、按类型排序,选JSON类型数据 3、点相应的连接,在右侧就会显示json数据



查看完整回答
反对 回复 2019-08-24
?
慕标5832272

TA贡献1966条经验 获得超4个赞

直接利用python提供的json包,在django model的定义中增加一个方法toJSON,利用django model 能访问 _meta.fields 得到相关属性而得到,例子如下:

123456789101112class Category(models.Model):    autoid = models.AutoField(primary_key=True)    email=models.CharField(max_length=150,blank=False)    comtype=models.CharField(max_length=20,blank=False)    catname=models.CharField(max_length=150,blank=False)           def __unicode__(self):        return '%s' % (self.catname)         def toJSON(self):        import json        return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for in self._meta.fields]]))

然后用django查出数据,并转换成json,代码如下:

12row=models.Category.objects.get(autoid=23)    print row.toJSON()



查看完整回答
反对 回复 2019-08-24
  • 4 回答
  • 0 关注
  • 1390 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信