2017-04-11 19 views
0

我正在使用名爲PostCoder()的庫來計算兩個英國郵政編碼之間的距離。Django錯誤,當它不是none時,顯示非類型

我剛開始接觸這個試圖測試一下,可惜我不能得到任何進一步的比初始階段之前,我得到以下錯誤:

'NoneType' object has no attribute 'getitem'

這是在我看來代碼:

origin_postcode = "W1 5PD" 
dest_postcode = "LS3 2GG" 

origin = str(pc.get('%s' % origin_postcode)['geo']['lat'])+','+str(pc.get('%s' % origin_postcode)['geo']['lng']) 
dest = str(pc.get('%s' % dest_postcode)['geo']['lat'])+','+str(pc.get('%s' % dest_postcode)['geo']['lng']) 

我不明白怎麼能稱其爲NoneType當它有一個硬編碼值。

任何人都可以提出什麼問題可能在這裏?

+0

你的'pc.get'之一可能是'None',因爲你試圖得到的密鑰不存在。告訴我們'pc'的價值。 –

+0

另外在'%s'%origin_postcode'中沒有用,只需使用'origin_postcode'。 –

+0

當我打印pc這是輸出: @AlexHall。 –

回答

0

查看pc.get()的返回值。郵政編碼不可用時返回None

據我所知,postcodes圖書館是英國的郵政編碼,「W1 5PD」的郵政編碼是不合法的。

+0

感謝您的建議 - 但是我一直在測試時使用不同的(有效)郵編...我只是爲了上傳問題而改變了它們 –

+0

@ smith_05_bird'pc.get(valid_postalcode)'的結果是什麼? – Algorithmatic

+0

它顯示爲'None':/ ---我用很多不同的郵政編碼測試了這個郵件,這些郵政編碼有效並且仍然顯示爲無。 –

相關問題