2013-10-23 89 views
2

好的,我正在開發一個庫PLOW網站(這是愛荷華州圖書館系統狀態的表單網站) 。我無法弄清楚如何格式化日期覆蓋字段,以便當有人試圖提交表單時,它不會給他們「日期必須是未來日期」的消息。可能還有別的東西阻止了表單的通過,但我認爲是這樣。TypeError:未綁定方法Date()必須以DateTime實例作爲第一個參數調用(改爲int實例)

(請注意,我不是一個程序員,不太瞭解HTML,我剛喝了一對夫婦快速教程)

這是錯誤消息我得到: TypeError: unbound method Date() must be called with DateTime instance as first argument (got int instance instead)

這就是我想要做的事: 當我走在「替換」有三種大膽的標題以供選擇:「默認的表達式」,「自定義驗證」,並啓用表達式」所有的它們是空白的,除了「自定義驗證器」這樣說:python: test(value < DateTime(),False,'Date must be a future date') 。無論將來有多遠,它都會提示錯誤消息「日期必須是未來日期」。

我很困惑,爲什麼這是行不通的,並做了一些谷歌搜索後,我想出了這個:python: test(value < DateTime.Date(2013, 10, 23),False,'Date must be a future date')而這正是我從收到此錯誤信息:

TypeError: unbound method Date() must be called with DateTime instance as first argument (got int instance instead)

幫助?我想要的是所有未來的日期都能正常工作,之前是否正常,該網站還有一個我無法識別的問題?

注意:「不到」符號附近有空格,這些空格原本並不存在,但否則您的網站認爲我正在告訴它一個代碼。

+0

你從哪裏得到這些'日期時間'對象'日期'方法?標準庫模塊['datetime'](http://docs.python.org/3.3/library/datetime.html)只有'datetime'對象和'date'方法。 – abarnert

回答

0

爲了使測試工作有兩件事情必須發生:

  • value必須是日期
  • DateTime()必須回到今天的日期

我的猜測是,value實際上是爲字符串,並且您需要在嘗試比較之前將其轉換爲日期。如果你是真的幸運,這將工作:

DateTime(value) < DateTime() 

否則,你就需要找出value的價值到底是什麼,然後從那裏走。

+0

謝謝!有效!我一定非常幸運。 – AssistLibrarianLCPL

+0

@AssistLibrarianLCPL:哇。這並不經常發生! :) –

4

此錯誤:

TypeError: unbound method Date() must be called with DateTime instance as first argument (got int instance instead)

...是你當你嘗試調用類本身的正常實例方法,而不是類的實例*(還有其他一些情況下,它可以上來,但是這是迄今爲止最常見的),而你的代碼確實是調用類本身的方法:

DateTime.Date(2013, 10, 23) 

我不知道這DateTime類是什麼,或者它的Date方法,但如果他們像標準庫一樣datetime.datetime類和它的date方法,你做錯了。

datetime模塊有時會引起混淆,因爲模塊和其中的一個類具有相同的名稱。而且,爲了增加混淆,該類的某些方法與模塊中的其他類或函數具有相同的名稱。所以,這是構建date對象一個完全有效的方式:

import datetime 
d = datetime.date(2013, 10, 23) 

...這構造相同的對象:

import datetime 
d = datetime.datetime(2013, 10, 23).date() 

...等做到這一點:

from datetime import datetime 
d = datetime(2013, 10, 23).date() 

...但這是嘗試在datetime類上調用date實例方法,這是無稽之談,會引發您看到的同類異常。

from datetime import datetime 
d = datetime.date(2013, 10, 23) 

*如果你想知道爲什麼你得到這個錯誤,正是這意味着,你必須瞭解有關綁定與非綁定方法,如何調用綁定方法等This blog post試圖解釋它。但你可能不需要知道所有這些來解決你的問題。

相關問題