Django Admin中的欧洲日期输入

Django Admin中的欧洲日期输入,第1张

Django Admin中的欧洲日期输入

基于这个想法,我创建了新的db.fields类EuDateField:

mydbfields.py

from django import formsfrom django.forms.fields import DEFAULT_DATE_INPUT_FORMATSfrom django.db import modelsclass EuDateFormField(forms.DateField):    def __init__(self, *args, **kwargs):        kwargs.update({'input_formats': ("%d.%m.%Y",)+DEFAULT_DATE_INPUT_FORMATS})        super(EuDateFormField, self).__init__(*args, **kwargs)class EuDateField(models.DateField):    def formfield(self, **kwargs):        kwargs.update({'form_class': EuDateFormField})        return super(EuDateField, self).formfield(**kwargs)

请注意,它首先将我的格式(例如2007年12月31日)添加到现有的“标准” django格式中。

用法

from mydbfields import EuDateFieldclass Person(models.Model):    ...    birthday   = EuDateField("Birthday", null=True, blank=True, help_text="")

就我而言,这在admin中表现不错,但很可能在ModelForm中也可以(没有尝试过)。

我的Django版本是:

>>> import django>>> django.get_version()u'1.1 alpha 1 SVN-10105'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5508342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存