如何将默认值设置为 zope.schema.datetime?
How I set default value to zope.schema.datetime?
我使用 Python 敏捷类型编码产品,我有一个字段 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 敏捷类型编码产品,我有一个字段 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,
)