def login(request): user = UserInfo(username="張三", password="123456", nickname="一個(gè)人") result = json.dumps(user) # 需要result 是 {"username":"張三","password":"123456","nickname":"一個(gè)人"} return HttpResponse(result)
擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級(jí)軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
Django 的 object 不能直接被序列化成 json ,因?yàn)?Django model 里有些 field 沒有對(duì)應(yīng)的序列器做序列化操作(比如 DateTimeField )
嗯,這時(shí)候你需要這個(gè):https://github.com/bluedazzle/django-simple-serializer
當(dāng)然你也可以用 django-rest-framework,不過這個(gè)使用門檻高一些,需要一些學(xué)習(xí)成本
simple-rest-framework 用來做請(qǐng)求接口很不錯(cuò),但是rest-framework支持的模式可能更多,權(quán)限,view等等
可以在UserInfo的 model 里寫一個(gè)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())即可