如何在管理表单上的DateField中接受本地化的日期格式(例如dd / mm / yy)?
问题内容:
是否可以自定义Django应用程序,使其在管理表单上的DateField中接受本地化的日期格式(例如dd / mm / yy)?
我有一个模型课:
class MyModel(models.Model):
date = models.DateField("Date")
以及相关的管理员班
class MyModelAdmin(admin.ModelAdmin):
pass
在django管理界面上,我希望能够以以下格式输入日期:dd / mm / yyyy。但是,管理表单中的日期字段应为yyyy-mm-dd。
如何自定义内容?注意:我已经在settings.py中指定了我的自定义语言代码(fr-FR),但似乎对此日期输入没有影响。
预先感谢您的回答
问题答案:
管理系统使用默认值ModelForm
来编辑对象。您需要提供一个自定义表单,以便您可以覆盖字段行为。
在您的模型表单中DateField
,使用覆盖字段,然后使用input_formats选项。
MY_DATE_FORMATS = ['%d/%m/%Y',]
class MyModelForm(forms.ModelForm):
date = forms.DateField(input_formats=MY_DATE_FORMATS)
class Meta:
model = MyModel
class MyModelAdmin(admin.ModelAdmin):
form = MyModelForm