2015-05-12 58 views
-3

我試圖從日期時間表單中獲得年份,但是當我運行項目代碼時出現此錯誤'None type' object has no attribute 'year'我試過import datetimefrom datetime import datetime但是沒有成功。雖然在同一個文件views.py中放置在另一個函數之前的另一個函數中,我編寫了相同的代碼(年份越來越...),並且它工作得非常好! PS:當我在ipdb shell上運行代碼時,它可以正常工作! 此代碼:'沒有類型'對象沒有屬性'year'

from datetime import datetime 
def My_function(request): 
    data = tableA.find() 
    dt = datetime.now() 
    y = dt.year 
    m = dt.month 
    d = dt.day 
    for i in data: 
     if i['ma_date'].year == y: 
      ma_liste.append([i["ma_date"]) 
return render(request, ma_page.html, ma_liste) 

,這是erreor

**AttributeError at /ma_page/ 
'NoneType' object has no attribute 'year'** 
+3

請顯示您正在執行的實際代碼和完整的錯誤堆棧跟蹤。 – alecxe

+0

做完了你可以檢查一下 –

+0

什麼是'tableA'?什麼是'數據'?你有沒有試過在循環之前記錄'data'的內容? –

回答

1

這有什麼好做datetime。您的data商品沒有year屬性。

您尚未顯示此代碼或此對象的結構,但它可能只是一個多維數組,在這種情況下,您可以使用:i['ma_date']['year']

+0

i ['ma_date']給出了這個datetime.datetime(2015,5,12, 9,30,1)所以我已經試過導入日期時間然後出現另一個有關datetime.now()的錯誤,所以我改爲datetime.datetime.now(),但不幸的是第一個錯誤再次出現.... –

+0

也在ipdb shell當我測試我['ma_date']。年它顯示我2015!但是當我轉到頁面ma_page.html –

+0

時,出現問題謝謝大家解決了問題 –