Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 18, 2008 10:22:57

Saff
От:
Зарегистрирован: 2008-03-18
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

формат models.DateField

Возможно ли сменить формат отображения/ввода даты?



Офлайн

#2 Дек. 18, 2008 11:27:47

Vermus
От:
Зарегистрирован: 2008-11-18
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Офлайн

#3 Дек. 18, 2008 11:54:56

Saff
От:
Зарегистрирован: 2008-03-18
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

формат models.DateField

Почитал, понравилось )
Извиняюсь, забыл сказать, что проблема со сменой формата даты в джанго админке.У объекта стандартная форма, а там дата отображается в формате yyyy-mm-dd, а нужно dd-mm-yyy



Офлайн

#4 Дек. 18, 2008 12:35:21

Vermus
От:
Зарегистрирован: 2008-11-18
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

формат models.DateField

class MyModelAdmin(admin.ModelAdmin):
def formfield_for_dbfield(self, db_field, **kwargs):
field = super(MyModelAdmin,self).formfield_for_dbfield(db_field,**kwargs)

if isinstance(db_field, models.DateField)
return forms.DateField(input_formats=('%d-%m',), widget=SelectDateWidget(input_format='%d-%B', null=True))
return field
или

class MyModelAdmin(admin.ModelAdmin):
def formfield_for_dbfield(self, db_field, **kwargs):
field = super(MyModelAdmin,self).formfield_for_dbfield(db_field,**kwargs)

if db_field.name == 'birth_day_month':
return forms.DateField(label=_('Birth day_month'), required=False, input_formats=('%d-%m',), widget=SelectDateWidget(input_format='%d-%B', null=True))
return field
Это с виджетом по ссылке, можно и без него, используя input_formats



Отредактировано (Дек. 18, 2008 12:39:18)

Офлайн

#5 Дек. 18, 2008 12:46:32

Saff
От:
Зарегистрирован: 2008-03-18
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

формат models.DateField

Огромное спасибо, то чно нужно!



Офлайн

#6 Дек. 18, 2008 14:34:34

Saff
От:
Зарегистрирован: 2008-03-18
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

формат models.DateField

Есть вопрос )))
А возможно ли это интегрировать с календарём, который появляется при стандартном выводе?



Офлайн

#7 Дек. 18, 2008 14:49:39

Vermus
От:
Зарегистрирован: 2008-11-18
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

формат models.DateField

смотрим, как это делается в адмнике http://code.djangoproject.com/browser/django/trunk/django/contrib/admin/widgets.py

 	
42 class AdminDateWidget(forms.TextInput):
43 class Media:
44 js = (settings.ADMIN_MEDIA_PREFIX + "js/calendar.js",
45 settings.ADMIN_MEDIA_PREFIX + "js/admin/DateTimeShortcuts.js")
46
47 def __init__(self, attrs={}):
48 super(AdminDateWidget, self).__init__(attrs={'class': 'vDateField', 'size': '10'})



Офлайн

#8 Дек. 24, 2008 22:42:55

OZION
От:
Зарегистрирован: 2008-10-15
Сообщения: 89
Репутация: +  0  -
Профиль   Отправить e-mail  

формат models.DateField

есть поле формы “Дата выдачи” которое по умолчанию принимает данные в ввиде 2006-10-25 , при попытке ввести дату в виде 25-10-2006 выдает ошибку Enter a valid date.

passport_when_delivery = forms.DateField(label='Дата выдачи')
попробовал изменить на
passport_when_delivery = forms.DateField('%m/%d/%Y', label='Дата выдачи')
при вводе значения 10/25/2006 выдало опять ошибку Enter a valid date.

Подскажите что делаю не так

П.С В идеале нужно чтобы дата была ввиде 1-1-2001 тоесть согласно филтру даты выглядеть так (j n Y)

Офлайн

#9 Дек. 25, 2008 16:20:03

Vermus
От:
Зарегистрирован: 2008-11-18
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

формат models.DateField

Покажите POST дату



Офлайн

#10 Дек. 25, 2008 19:51:29

OZION
От:
Зарегистрирован: 2008-10-15
Сообщения: 89
Репутация: +  0  -
Профиль   Отправить e-mail  

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version