问题
I did a small Flask app with a form with two date fields, and this is how I populate the values:
class BoringForm(Form):
until = DateTimeField("Until",
format="%Y-%m-%dT%H:%M:%S",
default=datetime.today(),
validators=[validators.DataRequired()])
However, this is generated only once, server-side, which means that tomorrow I'll still get yesterday's date. I tried passing obj=something
to the constructor, where something
was an OrderedDict
with a key called since
, but it didn't work. Ideas?
回答1:
Just drop the brackets on the callable:
class BoringForm(Form):
until = DateTimeField(
"Until", format="%Y-%m-%dT%H:%M:%S",
default=datetime.today, ## Now it will call it everytime.
validators=[validators.DataRequired()]
)
来源:https://stackoverflow.com/questions/27421166/wtformsflask-todays-date-as-a-default-value