0

我在 Django 1.6 中有以下表格:

class TestForm(forms.form):
    first_date = forms.DateField(widget=SelectDateWidget(), required=True) 
    name = forms.CharField(widget=forms.PasswordInput(), label="Real Name")

我想使用字典在我的视图中创建此表单的实例(请耐心等待,我必须在这里使用 python 字典)。

阅读文档,我发现了一个没有 DateField 的示例并对其进行了测试:

form = TestFormNoDateField({"username": "John", "hair_color": "Black")

这就像一个魅力。问题是当我使用带有 DateField 的表单尝试相同的方法时:

form = TestForm("name": "John", "first_date": "2005-01-23")

这引发了一个Value Error at xxx: Too many values to unpack.

我应该如何格式化日期字段以避免此错误?

4

1 回答 1

2

传入一个datetime.datefirst_date

form = TestForm("name": "John", 
                "first_date": datetime.date(year=2005, month=1, day=23)})

或者,如果您有日期字符串,请datetime使用以下方法将其转换为strprime()

form = TestForm("name": "John", 
                "first_date": datetime.datetime.strptime('2005-01-23', '%Y-%m-%d')})

别忘了import datetime

希望有帮助。

于 2014-04-16T00:22:53.830 回答