以django格式

时间:2015-08-11 14:28:59

标签: django datetime django-forms

我正在尝试更改我的django表单中的DateTime格式。

我希望它接受的格式是: day month year hour_minute_seconds timezone 2015年8月11日12:00:00 GMT - > %d%b%Y%H:%M:%S%Z

我一直在做一些测试但是我没能找到正确的方法。

我在settings.py文件中禁用了L10N,因此我可以使用%b月份格式。

这是我的forms.py文件内容

from django import forms
from django.forms import DateTimeField

from web.apps.customer.models import Reported_VPN_User

class Customer_settings_vpn_Form(forms.ModelForm):

    event_date = DateTimeField(widget=forms.widgets.DateTimeInput(format="%d %b %Y %H:%M:%S %Z"))

    class Meta:
        model = Reported_VPN_User
        fields = '__all__'

当我尝试以所需格式输入日期时,表格不允许我继续。

我一直在检查DATETIME_INPUT_FORMAT(https://docs.djangoproject.com/en/1.8/ref/settings/#std:setting-DATETIME_FORMAT)并且我没有看到我在寻找什么,但是检查python日期文档(https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior)我发现它应该是可能的。

如何修改日期时间格式,以便按要求使其正常工作?

ps:我不是django的专家。

1 个答案:

答案 0 :(得分:7)

请勿使用format。请改用input_formats,它接受​​格式列表:

event_date = DateTimeField(input_formats=["%d %b %Y %H:%M:%S %Z"])