Python 如何在django中将生成的日期格式转换为其他格式?

Python 如何在django中将生成的日期格式转换为其他格式?,python,django,date,format,Python,Django,Date,Format,我正在django中创建一个应用程序,下一个问题是: 我有一个具有属性“date”的模型,我将日期保存为以下格式:YYYY-MM-DD 但是当我得到一个实例,并且我得到该实例的date属性值时,日期是:“2015年10月10日”,所以我得到了错误: [u"'Oct.' value has an invalid date format. It must be in YYYY-MM-DD format."] 如何解决此错误?有没有办法将“2015年10月10日”格式化为YYYY-MM-DD 非常感

我正在django中创建一个应用程序,下一个问题是:

我有一个具有属性“date”的模型,我将日期保存为以下格式:YYYY-MM-DD

但是当我得到一个实例,并且我得到该实例的date属性值时,日期是:“2015年10月10日”,所以我得到了错误:

[u"'Oct.' value has an invalid date format. It must be in YYYY-MM-DD format."]
如何解决此错误?有没有办法将“2015年10月10日”格式化为YYYY-MM-DD


非常感谢你

对于输入
2015年10月10日
,您需要这样写:

from datetime import datetime
datetime.strptime('Oct. 10, 2015', '%b. %d, %Y')
Django的DateField直接保存datetime对象,因此将输入字符串转换为所需格式

您可以尝试使用表单输入以下数据:

class SomeForm(forms.modelform):
    date_input_field = forms.CharField()

    def clean_date_input_field(self):
        try: 
            return datetime.strptime(self.cleaned_data['date_input_field'], '%d/%m/%Y')
        except:
             return datetime.strptime(self.cleaned_data['date_input_field'], '%b. %d, %Y')
     class Meta:
          ...
或添加
'%b.%d、 中的%Y'