Skip to main content
 首页 » 编程设计

python之编辑表单时 Django DateTImeField 格式丢失

2025年05月04日24del

我有这样的形式:

class EventForm(ModelForm): 
    reg_due_date = forms.DateTimeField(input_formats=('%d/%m/%Y %H:%M',), widget=forms.TextInput(attrs={ 'class': 'datePicker','readonly':'true'})) 

和

class Event(models.Model): 
    reg_due_date = models.DateTimeField() 

一切正常,当我使用 jQuery DateTimePicker 时,输入字段中的日期时间格式正确。但是当我尝试通过这部分代码编辑表单时,我看到秒出现,这是完全不能接受的。它来自哪里?

def editEventInfo(request,event_id): 
    if request.method == 'GET': 
        if event_id: 
            event = Event.objects.get(pk=event_id) 
            form = EventForm(instance=event) # An unbound form 
        else: 
            form = EventForm() # An unbound form 
        return render_to_response('events/editEvent.html', { 
            'form': form, 
        },context_instance=RequestContext(request)) 

请您参考如下方法:

input_formats 是表单字段将用于将输入字符串解析为日期的格式列表,打印的内容由格式本地化驱动。

您需要激活 USE_L10N = True 或覆盖 DATETIME_FORMAT

参见 https://docs.djangoproject.com/en/1.4/topics/i18n/formatting/和 https://docs.djangoproject.com/en/1.4/ref/settings/#datetime-format