2014-04-17 2 views
0

Python 입문이 해답을 찾지 못했습니다. 다른 언어의 해시 또는 연관 배열과 같은 사전을 사용하려고합니다. 정확하지 않은지 확실하지 않습니다.Python 사전 "no attribute"__getitem__ '

는 지금은하고 있어요 :

data['person'] = {'birthday': '01-01-1980'} 

편집 : datajson.loads(response.text)

이는을 던지고에서 반환되는 dict입니다210 오류. 이걸 보니, 내 유니 코드 메쏘드에서 문자열을 돌려 줄 필요가 있음을 알 수있다. 그러나 이것들은 아주 오래된 옛 사전 일 뿐이며 특별한 것은 없다.

파이썬 v2.7.4는

Request Method: GET 
Request URL: http://localhost:8000/url/returning/json 
Django Version: 1.5.2 
Exception Type: TypeError 
Exception Value:  
'Person' object has no attribute '__getitem__' 
Exception Location: /path/to/error/file in next_work_item, line 356 
Python Executable: /path/to/project/.venv/bin/python 
Python Path:  
['/path/to/project/', 
'/opt/pycharm-3.1.1/helpers/pydev', 
'/path/to/project/.venv/local/lib/python2.7/site-packages/distribute-0.7.3-py2.7.egg', 
'/path/to/project/.venv/lib/python2.7/site-packages/distribute-0.7.3-py2.7.egg', 
'/path/to/project/', 
'/path/to/project/.venv/lib/python2.7', 
'/path/to/project/.venv/lib/python2.7/plat-x86_64-linux-gnu', 
'/path/to/project/.venv/lib/python2.7/lib-tk', 
'/path/to/project/.venv/lib/python2.7/lib-old', 
'/path/to/project/.venv/lib/python2.7/lib-dynload', 
'/usr/lib/python2.7', 
'/usr/lib/python2.7/plat-x86_64-linux-gnu', 
'/usr/lib/python2.7/lib-tk', 
'/path/to/project/.venv/local/lib/python2.7/site-packages', 
'/path/to/project/.venv/lib/python2.7/site-packages', 
'/path/to/project/.venv/local/lib/python2.7/site-packages/IPython/extensions', 
'/path/to/project/sub/project, 
'/path/to/project/sub'] 
+1

표시된 코드가 실행되기 전에 '데이터'란 무엇입니까? 예외의 전체 추적을 게시 할 수 있습니까? – Blckknght

+0

데이터가'data = {}'처럼 보이기를 바랍니다. – merlin2011

+0

사전이기도합니다. – diplosaurus

답변

1

이 잘 작동 :

#!/usr/local/cpython-2.7/bin/python 

data = {} 
data['person'] = {'birthday': '01-01-1980'} 

을 ... 데이터 아마 당신의 경우에 DICT되지 않도록. SSCCE가 도움이 될 수 있습니다.