django - Django forms date.today() 在早上没有返回正确的日期
问题描述
我有一个表格:
class DateInput(forms.DateInput):
input_type = "date"
Date = forms.DateField(widget=DateInput(),initial=datetime.date.today().strftime('%Y-%m-%d'))
但是我只有在上午 10 点之后才有正确的日期,在我有酵母日的日期之前。知道我想念什么吗?
谢谢
解决方案
intial
仅在您启动服务器时评估一次。所以只要服务器没有重启,它就会保持重启的日期。
您可以将可调用对象传递给函数:
class DateInput(forms.DateInput):
input_type = 'date'
# …
date = forms.DateField(
widget=DateInput(),
initial=datetime.date.today
)
请注意,这可能是时区敏感的。如果你想要一个不同的时区,你可以定义一个函数来提供正确的日期:
from django.utils import timezone
from pytz
utc_14 = pytz.timezone('Pacific/Tongatapu')
def initial_date():
return utc_14.normalize(timezone.now()).date()
…
date = forms.DateField(
widget=DateInput(),
initial=initial_date
)
这将在这一刻回归datetime.date(2020, 7, 3)
,因为现在在汤加塔布已经是 7 月 3 日。
格式不是由initial
参数决定的。您需要为此使用设置DATE_FORMAT
[Django-doc]和 DATE_INPUT_FORMAT
设置 [Django-doc]之类的设置。此外,它还取决于本地化设置。
推荐阅读
- postgresql - 如何在 grafana 中查询 postgreSQL?
- jquery - Django:单击按钮时使用jquery ajax调用运行函数
- spring-boot - 强制外部连接的 JPA 注释
- python - 开发神经网络时如何在python中使用sigmoid函数
- r - 为因子的每个级别拟合“lm”模型
- angular - 来自父级的嵌套 Angular FormGroups getRawValue / patchValue 不会触发嵌套的
- spring - Spring WebFluxTest 使用 Flux 时的奇怪行为
作为回应 - application-design - oTree Studio:为实验中的不同参与者显示不同的表单字段
- reactjs - 将图标添加到材质表“查找”(material-ui React)
- performance - 在 pyspark 中,是 df.select(column1, column2....) 影响性能