簡體   English   中英

Django DateField 表單在cleaned_data 中生成None

[英]Django DateField form generates None in cleaned_data

從 Django 中的 DateField 表單中選擇日期並點擊提交按鈕后,is_valid() 成功,但cleaned_data 顯示無。 有誰知道是什么問題? 謝謝

表格.py

class DateForm(forms.Form):
    day_from = forms.DateField(label=u'Začiatok obdobia', input_formats=['%d/%m/%Y'], 
        required=False, widget=forms.DateInput(format='%d/%m/%Y'))
    day_to = forms.DateField(label=u'Koniec obdobia', input_formats=['%d/%m/%Y'], 
        required=False, widget=forms.DateInput(format='%d/%m/%Y'))

視圖.py

def dp_list(request):
if request.method == "POST":
    form_date = DateForm(request.POST)
    if form_date.is_valid():
        date_from = form_date.cleaned_data['day_from']
        date_to = form_date.cleaned_data['day_to']
        print(date_from, date_to, type(date_from), type(date_to))
        print(form_date.cleaned_data)

日期列表.html

<form action="" method="post">
     {% csrf_token %}
     {{ form | materializecss:"s4"}}
     <span class="align-bottom">
         <input class="btn primary-btn pink" type="submit" value="Zobraz">
     </span>
</form>

控制台打印輸出:

> ## None None class 'NoneType' class 'NoneType'
> ## {'day_from': None, 'day_to': None}

發生這種情況是因為其中一個字段未清理。 您可以通過執行elseprint(form_date.cleaned_data)來確認哪個字段, print應該少一個字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM