Rumah > Soal Jawab > teks badan
def login(request): user = UserInfo(username="张三", password="123456", nickname="一个人") result = json.dumps(user) # 需要result 是 {"username":"张三","password":"123456","nickname":"一个人"} return HttpResponse(result)
三叔2016-11-14 10:28:55
Django 的 object 不能直接被序列化成 json ,因为 Django model 里有些 field 没有对应的序列器做序列化操作(比如 DateTimeField )
嗯,这时候你需要这个:https://github.com/bluedazzle/django-simple-serializer
当然你也可以用 django-rest-framework,不过这个使用门槛高一些,需要一些学习成本
三叔2016-11-14 10:27:52
可以在UserInfo的 model 里写一个to_dict()方法,例如:
def to_dict(self): data = {} for f in self._meta.concrete_fields: data[f.name] = f.value_from_object(self) return data
然后,result = json.dumps(user.to_dict())即可