如何使用python字典创建带有日期字段的表单
我在Django 1.6中有以下表格:如何使用python字典创建带有日期字段的表单,python,forms,dictionary,django-1.6,Python,Forms,Dictionary,Django 1.6,我在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字典) 阅读文
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")
这会在xxx处引发一个值错误:太多的值无法解包
如何设置日期字段的格式以避免此错误?在
第一个\u日期
值中传递datetime.date
:
form = TestForm("name": "John",
"first_date": datetime.date(year=2005, month=1, day=23)})
或者,如果您有一个日期字符串,请使用strprime()
将其转换为datetime
:
不要忘记导入日期时间
希望能有帮助。正是我想要的。非常感谢你!
form = TestForm("name": "John",
"first_date": datetime.datetime.strptime('2005-01-23', '%Y-%m-%d')})