Python Django将值设置为POST表单

Python Django将值设置为POST表单,python,django,html,Python,Django,Html,我的views.py看起来像这样 def add_note(request): registered = False user = User.objects.get(username=request.user.get_username()) if request.method == 'POST': note_form = NoteForm(data=request.POST) if note_form.is_valid(): note = note_form.s

我的
views.py
看起来像这样

def add_note(request):

registered = False
user = User.objects.get(username=request.user.get_username())
if request.method == 'POST':
    note_form = NoteForm(data=request.POST)
    if note_form.is_valid():
        note = note_form.save()
        note.save()
        registered = True
    else:
         print(note_form.errors)

else:
    pass

return render(request, 'note.html', {'note_form': NoteForm, 'registered': registered})
在我的
HTML
中,我使用

此输入的数据无效,因为格式为
2015-12-20T12:15
,应为
2015-12-20 12:15

我的问题是:

  • 是否可以更改输入中的数据格式?我需要这样的格式
    2015-12-20 12:15
    T
    切换到
    SPACE
  • 如果不是,如何更改
    视图.py中
    数据的值

  • 您可以使用嵌入python日期函数轻松更改视图中的日期格式。例如,您可以使用strtimestrftime这两种日期时间功能

    import datetime
    
    new_date = datetime.datetime.strptime('07/12/2015', '%d/%m/%Y').strftime('%Y-%m-%d')
    

    strTime接收您的请求日期,strftime将该日期转换为自定义格式。

    您可以在
    NoteForm
    中指定datetime字段接受表单字段的格式,以便接受默认格式:

    data = forms.DateTimeField(input_formats=['%Y-%m-%d %H:%M', '%Y-%m-%dT%H:%M'])
    

    如果你坚持使用你想要的格式,您可能需要更改前端的
    输入
    以获得某种格式。

    您能告诉我如何在我的
    添加注释
    中使用它,因为我不知道如何从表单中提取日期对我来说很奇怪,因为数据库中的
    T
    被跳过,只保留
    空间
    对不起,我不理解您的评论,在什么情况下它会跳过
    T
    ?如果您的表单无效,如何保存数据?我将
    data=forms.datetime字段(输入格式=[%Y-%m-%d%H:%m',%Y-%m-%dT%H:%m'])
    添加到
    forms.py
    中,现在表单有效。在带有日期的数据库列中,不包含
    T
    。你解决了我的问题