DateTimeField不保存时间和日期DJANGO2.1

时间:2019-09-08 15:17:15

标签: python django python-3.x django-models django-forms

我尝试了无数次使用TIME and DATE保存和DateTimeField的不同方法,但是DJANGO2.1不断抛出模板错误enter a valid date/time

models.py

class Party(models.Model):
    name = models.CharField(max_length=50)
    date = models.DateTimeField()

forms.py

class PartyForm(forms.ModelForm):
    name = forms.CharField()
    date = forms.DateTimeField(widget=forms.widgets.DateTimeInput(format=['%Y-%m-%d %H:%M'], 
                                        attrs={'class':'myDateClass', 'type':'datetime-local'}))

    class Meta:
        model = Party
        fields = ['name', 'date']

views.py

from .models import Party
from .forms import PartyForm

def index(request):
    if request.method == 'POST':
        form = PartyForm(request.POST)
        if form.is_valid():
            form.save()

    else:
        form = PartyForm()

    context = {'form': form}
    return render(request, 'core/index.html', context)  

index.html

<div class="container mt-5 ml-5">
      <form method="POST">
        {% csrf_token %}
        {{ form.as_p }}
        <input class="btn btn-info" type="submit" value="submit">
      </form>
    </div>

settings.py

TIME_ZONE = 'America/Chicago'

USE_L10N = False

此外,当我尝试在下面使用input_formats时:

date = forms.DateTimeField(widget=forms.widgets.DateTimeInput(input_formats=['%Y-%m-%d %H:%M'], 
                                        attrs={'class':'myDateClass', 'type':'datetime-local'}))

终端抛出以下错误:

File "/Users/macadmin/Documents/Django_fun4/date_and_time/date_time/core/forms.py", line 30, in PartyForm
    attrs={'class':'myDateClass', 'type':'datetime-local'}))
TypeError: __init__() got an unexpected keyword argument 'input_formats'

其他信息

当我尝试仅保存DATE时。下面的配置工作。 我将'type'的值更改为'date'

date = forms.DateTimeField(widget=forms.DateTimeInput(format=('%d-%m-%Y %H:%M'),attrs={'class':'myDateClass', 'type':'date'}))

但是当我尝试同时保存DATE和TIME时,'type':'datetime-local' django模板会抛出错误ENTER A VALID DATE / TIME

有人可以帮我弄清楚如何保存时间和日期吗?

(时间是我现在需要的最重要的数据,但是如果我可以同时保存时间和日期,那就太好了

谢谢您的帮助。

1 个答案:

答案 0 :(得分:2)

format是一个字符串参数,请尝试:

date = forms.DateTimeField(widget=forms.widgets.DateTimeInput(format='%Y-%m-%d %H:%M', attrs={'class':'myDateClass', 'type':'datetime-local'}))

或完全不提供任何格式,Django将尝试应用these中的某些格式。

相关问题