python - 如何将默认值设置为 zope.schema.datetime?

标签 python datetime zope dexterity

我使用 Python Dexterity Type 编写了一个产品,并且我有一个字段 shema.Datetime (见下文),并且我想在 Plone 中创建表单时设置一个默认日期时间。

我尝试使用 Zope DateTime 和 Python DateTime,但不起作用。 在 docs zope schema没有这方面的示例。

# I'm tried use this options with DateTime
from DateTime import DateTime
# DateTimeNow = DateTime()
# DateTimeNow = DateTime().asdatetime()

# And tried use datetime
import datetime
DateTimeNow = datetime.datetime.now()

class IDigitalFile(model.Schema):
    ...

    uploded_at = schema.Datetime(
        title=_(u"Data de Upload"),
        required=True,
        defaultFactory=DateTimeNow,
    )

那么,在这种情况下我如何设置默认值?

最佳答案

解决方案是使用 Python Datetime,而不是 Zope DateTime,请参阅代码:

from datetime import datetime
...
def nowDateTime():
    return datetime.today()

...
directives.mode(uploded_at="hidden")
uploded_at = schema.Datetime(
    title=_(u"Data de Upload"),
    required=True,
    defaultFactory=nowDateTime,
)

关于python - 如何将默认值设置为 zope.schema.datetime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39369068/

相关文章:

python - 各种 ZODB blobstorage 布局之间有什么区别?

python - Django REST - @action 装饰器 "Unresolved reference ' Action '”

date - 检查日期范围与其他一些日期范围之间的缺失天数

java - 将日期字符串解析为 "yyyy-MM-dd' T'HH :mm:ss' -'hh:mm" 时,小时、分钟和米尔值错误

c# - 使用属性将 YYYYMMDD 字符串转换为日期

plone - .cpt 模板和 .pt 模板之间有什么区别?

python - IPython 笔记本 - ShimWarning : The `IPython.kernel` package has been deprecated

python - 无法在 Azure 机器学习工作室中打开新的 Python 或 R 笔记本

python - 对 numpy 中数组的子集进行平均