0

私はどこでも検索しましたが、以前にこのエラーを述べた人はいません。

obj は unicode オブジェクトを返しますが、次のエラーが返されます

Exception Type: AttributeError  
Exception Value:'unicode' object has no attribute 'pk'

応答からの結果をハードコーディングすると機能します。
CustomerAccount.py

from django.contrib.auth.models import User  

ログインを確認する

 return user

api.py

result = CustomerAccount.login(username, password)  
return HttpResponse(json.dumps(result), content_type="application/json")

ビュー.py

import urllib2  
import json

res = urllib2.urlopen("http://127.0.0.1:8000/api/login?username=admin&password=admin").read()  
obj = json.loads(res)
print obj[0].pk

出力オブジェクトの結果:

[{"pk": 1, "model": "auth.user", "fields": {"username": "admin", "first_name": "Admin", "last_name": "admin", "is_active" : true, "is_superuser": true, "is_staff": true, "last_login": "2013-05-29T08:08:43.859Z", "groups": [], "user_permissions": [], "password": "pbkdf2_sha256$10000$1HdCOPgsoXvx$8jjOpTFVcVAtUshpjJDPEGs/TRq7jeJ2T/2i55FIPeM=", "email": "admin@admin.com", "date_joined": "2013-05-15T07:59:30Z"}}]

4

2 に答える 2

3

タイプが間違っています:

  • objですlist
  • obj[0]ですdict
  • adictにはpk属性がありませんが、次の方法でキーの値を取得できます"pk"obj[0]['pk']
于 2013-06-05T06:50:05.030 に答える