如何在管理表单上的DateField中接受本地化的日期格式(例如dd / mm / yy)? [英] How to accept localized date format (e.g dd/mm/yy) in a DateField on an admin form?

查看:80
本文介绍了如何在管理表单上的DateField中接受本地化的日期格式(例如dd / mm / yy)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以自定义django应用程序以在管理表单上的DateField中接受本地化的日期格式(例如dd / mm / yy)?

Is it possible to customize a django application to have accept localized date format (e.g dd/mm/yy) in a DateField on an admin form ?

模型类:

class MyModel(models.Model):    
    date  = models.DateField("Date")    

和相关的管理类

class MyModelAdmin(admin.ModelAdmin):
     pass

django管理界面,我希望能够以以下格式输入日期:dd / mm / yyyy。但是,管理表单中的日期字段应为yyyy-mm-dd。

On django administration interface, I would like to be able to input a date in following format : dd/mm/yyyy. However, the date field in the admin form expects yyyy-mm-dd.

如何自定义内容?注意:我已经在settings.py中指定了我的自定义语言代码(fr-FR),但似乎对此日期输入没有影响。

How can I customize things ? Nota bene : I have already specified my custom language code (fr-FR) in settings.py, but it seems to have no effect on this date input matter.

谢谢

Thanks in advance for your answer

推荐答案

管理系统使用默认的 ModelForm 用于编辑对象。您需要提供一个自定义表单,以便您可以开始覆盖字段行为。

The admin system uses a default ModelForm for editing the objects. You'll need to provide a custom form so that you can begin overriding field behaviour.

在模型窗体中,使用 DateField ,然后使用 input_formats 选项。

Inside your modelform, override the field using a DateField, and use the input_formats option.

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

这篇关于如何在管理表单上的DateField中接受本地化的日期格式(例如dd / mm / yy)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆