标签: timefield

Django模板中的TimeField格式

我正在编写应用程序DjangoTimeFields在模型中使用多个应用程序.我只想使用时间格式hh:mm(不是hh:mm:ss或hh pm/am或其他东西).我已经设置了django设置TIME_FORMAT = 'H:i'USE_L10N = False根据文档,

USE_L10NTIME_FORMAT如果设置为覆盖,则覆盖True

在我的模板中,我使用Django自动创建的输入框,如:

{{formName.timeField}}
Run Code Online (Sandbox Code Playgroud)

问题是,只要我引入类似"10:00"的东西并执行a POST,当POST完成时,Django(或其他)将其转换为"10:00:00"(因此它会添加秒数).

  • 有没有办法指定日期时间字段显示保存日期的格式?如果我可以使用类似于|date:"H:i"输入框的值那样的东西.

另一方面,我知道我可以手动进行输入框(不是直接使用{{formName.timeField}}),但过去我遇到了一些问题,所以我想避免这种情况(至少目前为止).

没有秒的Django TimeField模型中也有类似的问题,但解决方案不起作用(它给我' NoneType'对象没有属性' strptime')

django format timefield

14
推荐指数
2
解决办法
2万
查看次数

Django Forms:TimeField验证

我觉得我在这里遗漏了一些明显的东西.我有一个带有TimeField的Django表单.我希望能够允许"10:30 AM"之类的时间,但是我不能让它接受输入格式或使用"%P"格式(附带说明它是"专有扩展",但不是不要说它来自哪里.这是我的表单代码的要点:

calendar_widget = forms.widgets.DateInput(attrs={'class': 'date-pick'}, format='%m/%d/%Y')
time_widget = forms.widgets.TimeInput(attrs={'class': 'time-pick'})
valid_time_formats = ['%P', '%H:%M%A', '%H:%M %A', '%H:%M%a', '%H:%M %a']

class EventForm(forms.ModelForm):
    start_date = forms.DateField(widget=calendar_widget)
    start_time = forms.TimeField(required=False, widget=time_widget, help_text='ex: 10:30AM', input_formats=valid_time_formats)
    end_date = forms.DateField(required=False, widget=calendar_widget)
    end_time = forms.TimeField(required=False, widget=time_widget, help_text='ex: 10:30AM', input_formats=valid_time_formats)
    description = forms.CharField(widget=forms.Textarea)
Run Code Online (Sandbox Code Playgroud)

每当我提交"10:30 AM"时,我都会收到验证错误.底层模型有两个字段,event_start和event_end,没有时间字段,所以我认为问题不在那里.我错过了什么愚蠢的事情?

forms django validation timefield

9
推荐指数
2
解决办法
7889
查看次数

Django休息框架时间字段输入格式

经过数小时的搜索,我发现了许多相关但无法提供帮助的帖子。

我想要做的是输入例如:10:30 AM 到 TimeField。
在浏览器上的 django rest 框架 API 中,它使用这种上午 10:30 格式 ( '%I:%M %p')。
但是当我使用邮递员来测试它时,输出是 24 小时格式('%H:%M:%S')。我也尝试使用 10:30 PM 作为输入,但我得到的输出是 10:30:00 而不是 22:30:00。

我发现的许多答案都建议settings.py使用以下行更改 TimeField 格式:

TIME_INPUT_FORMATS = ('%I:%M %p',)
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用。

很抱歉我在 django rest 框架方面缺乏经验,因为我还在学习。

这是结果的屏幕截图。在浏览器 API 上:

在浏览器 API 上

关于邮递员:

关于邮递员

python django timefield django-rest-framework

5
推荐指数
1
解决办法
3756
查看次数

Extjs :( TimeField)重置minValue和maxValue

我有一个ExtJS TimeField,我使用setMinValue(...)setMaxValue(...)只向用户显示有效的时间元素.这工作得很好,但是如何重置minValue,maxValue以便用户可以再次看到所有时间元素?

我不想清除该字段,只是再次显示商店中的所有元素.

extjs reset timefield

4
推荐指数
1
解决办法
9741
查看次数

在django timefield中将输入设置为AM PM

我想让用户能够在我的django时间段上午和下午之间进行选择

目前,如果我输入:

11:00 AM

,我收到一个表单错误:"输入一个有效的时间."

如果我输入:

11:00

表单验证没有问题.

我也尝试过:

class RemindersForm(forms.ModelForm):

    remdinder = forms.TimeField(input_formats='%H:%M %p',)

    class Meta:
        model = NotificationPreference
        fields = (
                  'reminder', 
                  )
Run Code Online (Sandbox Code Playgroud)

这会将输入格式更改为:

11:00:00

并仍然给我上述验证错误.

我究竟做错了什么?

django django-models django-forms timefield

4
推荐指数
3
解决办法
5801
查看次数

如何在24小时内保持ExtJS时域的格式

我正在尝试使用extJS创建一个时域组合框.我已经成功完成了这个,但是当我得到我在组合框中选择的值时,我遇到了问题.首先是制作时间段的代码:

 items :[{
    fieldLabel: 'Start Time',
    name: 'startTime',
    xtype: 'timefield',
    id: 'startTime',
    format: 'H:i',
    altFormats:'H:i',
    increment: 30
        }]
Run Code Online (Sandbox Code Playgroud)

我想要的是以24小时格式获取值.为了从时间字段中获取值,我使用以下代码:

    var startTime = Ext.getCmp('startTime').getSubmitValue();
Run Code Online (Sandbox Code Playgroud)

问题是,不是以24小时格式获取时间,而是将值转换为12小时格式.例如,当我从组合中选择时间:00:00,当我使用getSubmitValue()时,该值被转换为12:00 AM,这在我的情况下不是很有用.

我的问题是:有没有办法保持时间格式与组合框中的格式完全一致?这将是一个24小时的格式.

我希望我很清楚我想说的是什么.

谢谢迪米特里斯

extjs timefield

3
推荐指数
1
解决办法
1万
查看次数