我正在尝试更改我的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的专家。
答案 0 :(得分:7)
请勿使用format
。请改用input_formats
,它接受格式列表:
event_date = DateTimeField(input_formats=["%d %b %Y %H:%M:%S %Z"])