gpt4 book ai didi

python - 如何扩展 forms.datetime 字段中现有的输入格式?

转载 作者:太空宇宙 更新时间:2023-11-04 02:32:54 27 4
gpt4 key购买 nike

我想为我的 DateTimeField 添加自定义输入格式。是否可以在不对默认输入进行硬编码的情况下添加自定义输入?

class CustomForm(forms.Form):
updated = forms.DateTimeField(input_formats=['%Y-%m-%dT%H:%M:%S.%fZ'])

我想添加上面的选项,但这个解决方案看起来不太好:

class CustomForm(forms.Form):
updated = forms.DateTimeField(input_formats=['%Y-%m-%dT%H:%M:%S.%fZ',
'%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M',
'%Y-%m-%d',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M',
'%m/%d/%Y',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M',
'%m/%d/%y'])

最佳答案

forms.Form 通过调用 formats.get_format_lazy('DATETIME_INPUT_FORMATS') 获取其 DateTimeField 输入格式。您可以调用它并附加您的格式:

from django.utils import formats

class CustomForm(forms.Form):
my_new_format = '%Y-%m-%dT%H:%M:%S.%fZ'
updated = forms.DateTimeField(
input_formats=formats.get_format_lazy(
'DATETIME_INPUT_FORMATS').append(my_new_format)

它不是很漂亮,但至少如果默认格式被更改、添加等,它不需要更新。可能会好一点。

要更深入地了解 DateTimeField 的工作原理,您可以查看 django 站点包目录中的 django/forms/fields.py

关于python - 如何扩展 forms.datetime 字段中现有的输入格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48735923/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com