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/

相关文章:

.net - 需要将时间跨度 ADO.NET 数据列格式化为 AM/PM

plone - 尝试安装 ZRS 时 DistributionNotFound

python - ZODB 等同于有序字典(odict?)

python - setup.py 不为 install_requires 开发使用 wheel 吗?

python - 将 np 数组的字典保存到 json 文件

python - 使用项目字段中的内容重命名 Scrapy 0.24 中下载的图像,同时避免文件名冲突?

android - 安卓手机上的第一个工作日

c++ - 如果我不使用 to_string 或 from_string,为什么我需要在 boost 中编译 DateTime?

python - 尝试注册 zope.interface 的实现者时出错

python - 将python中的字符串从左边开始分成两部分