gpt4 book ai didi

python - 类型错误 : unbound method Date() must be called with DateTime instance as first argument (got int instance instead)

转载 作者:行者123 更新时间:2023-11-28 22:53:20 28 4
gpt4 key购买 nike

好的,我在图书馆 PLOW 网站上工作(这是爱荷华州图书馆系统的表单网站)。我不知道如何格式化日期覆盖字段,以便当有人尝试提交表单时,它不会给他们消息“日期必须是 future 的日期”。可能有其他东西阻止了表单通过,但我认为是这个。

(请注意,我不是程序员,对 HTML 知之甚少,我只是学习了一些快速教程。)

这是我收到的错误消息: TypeError: unbound method Date() must be called with DateTime instance as first argument (got int instance instead)

这就是我想要做的:当我进入“Overrides”下时,有三个粗体标题可供选择:“Default Expression”、“Custom Validator”和 Enabling Expression”。除了“Custom Validator”,它们都是空白的,上面写着:python: test(value < DateTime(),False,'Date must be a future date')。这会为给定的任何日期显示错误消息“日期必须是 future 的日期”,无论它有多远。

我很困惑为什么这不起作用,在进行了一些 Google 搜索后,我想到了这个: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)

帮助?我想要的是让所有 future 的日期都能正常工作,之前是否正常,网站只是有一个我无法识别的不同问题?

注意:“小于”符号周围有空格,这些空格原本不存在,否则您的网站认为我在告诉它一个代码。

最佳答案

这个错误:

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)

* 如果您想知道为什么会出现此错误以及这究竟意味着什么,您必须了解绑定(bind)方法与未绑定(bind)方法、如何调用绑定(bind)方法等。This blog post试图解释它。但您可能不需要知道所有这些来解决您的问题。

关于python - 类型错误 : unbound method Date() must be called with DateTime instance as first argument (got int instance instead),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19551036/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com