【发布时间】:2020-07-05 01:08:02
【问题描述】:
我正在使用 Django 2.2 表单,我试图了解为什么以下两个 sn-ps 具有不同的行为。为什么在表单字段(sn-p A)中将@staticmethod 传递给initial 与传递未绑定函数(sn-p B)的结果不同?
片段 A:
class BankUpdateForm(forms.Form):
@staticmethod
def yesterday():
return date.today() - timedelta(days=1)
from_date = forms.DateField(initial=yesterday)
to_date = forms.DateField(initial=date.today)
片段 B:
def yesterday():
return date.today() - timedelta(days=1)
class BankUpdateForm(forms.Form):
from_date = forms.DateField(initial=yesterday)
to_date = forms.DateField(initial=date.today)
片段 B 将按预期工作并显示正确的初始字段值。片段 A 只会打印函数的 str。
【问题讨论】: