forms.DateField格式传递参数
时间: 2023-07-06 10:05:07 浏览: 129
在使用Django的forms模块中,可以使用DateField来表示日期字段。在创建DateField实例时,可以指定格式(format)参数以指定日期的格式。例如,如果想要以“年-月-日”格式显示日期,可以这样定义DateField:
```python
from django import forms
class MyForm(forms.Form):
my_date = forms.DateField(label='My Date', input_formats=['%Y-%m-%d'])
```
在这个例子中,我们指定了label为“My Date”,并将input_formats设置为一个包含日期格式的列表,其中%Y代表年,%m代表月,%d代表日。这样,当用户提交表单时,Django将根据这个格式验证日期,并将其转换为datetime.date对象。
当从表单接收到日期时,可以使用datetime.date.strptime()方法将其转换为日期对象。例如:
```python
import datetime
form = MyForm(request.POST)
if form.is_valid():
my_date_str = form.cleaned_data['my_date']
my_date = datetime.datetime.strptime(my_date_str, '%Y-%m-%d').date()
```
在这个例子中,我们首先使用form.cleaned_data获取表单数据,然后使用datetime.datetime.strptime()方法将字符串转换为日期对象。最后,我们将日期对象存储在my_date变量中。