Форум сайта python.su
все в своей кривости разобрался forms.DateField('%m/%d/%Y') вот так делать нельзя =)
надо вот так: forms.DateField(input_formats=('%d-%m-%Y',)
очень понравилось данное решение http://djangonaut.blogspot.com/2008/05/django_08.html
изменил код виджета в файле Python25\Lib\site-packages\django\forms\extras\widgets.py на код из статьи
далее по примеру автора статьи модифицировал свой:
passport_when_delivery = forms.DateField(label='Дата выдачи', initial=datetime.date.today,
input_formats=('%d-%m-%Y',),
widget=SelectDateWidget(input_format='%d-%B-%Y', years=range(year, year-101, -1)))
Офлайн
OZIONНу да, выше я приводил рабочий пример, это input_formats должен быть списком.
все в своей кривости разобрался forms.DateField('%m/%d/%Y') вот так делать нельзя =)
надо вот так: forms.DateField(input_formats=('%d-%m-%Y',)
OZIONЗря модифицируешь исходники, лучше создай свой фал widgets.py и подключай свои виджеты через него.
очень понравилось данное решение http://djangonaut.blogspot.com/2008/05/django_08.html
изменил код виджета в файле Python25\Lib\site-packages\django\forms\extras\widgets.py на код из статьи
далее по примеру автора статьи модифицировал свой:но система не нашла виджет и выдала ошибку name ‘SelectDateWidget’ is not definedpassport_when_delivery = forms.DateField(label='Дата выдачи', initial=datetime.date.today,
input_formats=('%d-%m-%Y',),
widget=SelectDateWidget(input_format='%d-%B-%Y', years=range(year, year-101, -1)))
Офлайн
лучше создай свой фал widgets.py и подключай свои виджеты через негоСделал так, все заработало(почти все)
passport_when_delivery = forms.DateField(label='Дата выдачи', initial=datetime.date.today,
input_formats=('%d-%m-%Y',),
widget=SelectDateWidget(input_format='%d-%B-%Y')
years - list/tuple of years to use in the "year" select
box. By default: this year and next 9 printed.
from django import forms
import datetime
from prokat.widgets import SelectDateWidget
class Form_Order(forms.Form):
passport_when_delivery = forms.DateField(label='Дата выдачи', initial=datetime.date.today,
input_formats=('%d-%m-%Y',),
widget=SelectDateWidget(input_format='%d-%B-%Y', years=range(year, year-101, -1)))
from django.newforms.widgets import Widget, Select
from django.forms.widgets import Widget, Select
Отредактировано (Дек. 26, 2008 12:32:26)
Офлайн
Ну так все по-русски написано Exception Value: name ‘year’ is not defined"
Определи год как-нибудь (в примере это текущий год - то есть задаем диапазон в зависимости от текущего года), например,
now = datetime.datetime.now()
year=now.year
Офлайн
VermusСделал все точно как в этом примере. Вид поля в админке изменился, но при нажатии кнопки “сохранить” теперь непрерывно вылазит ошибка “Укажите дату правильно”. Второй день никак не могу понять, что и как исправить. Помогите!!!!или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 BookForm(ModelForm):
publication_date = forms.DateField(input_formats=('%d-%m-%Y',), \
widget=SelectDateWidget(input_format='%d-%B-%Y',\
years=range(year, year-101, -1)))
class Meta:
model = Book
__init__() got an unexpected keyword argument 'input_format'
Отредактировано (Ноя. 15, 2009 19:14:00)
Офлайн
qmanДа. Не надо ему его скармливать.
виджет SelectDateWidget() не желает работать с input_format!!!
Офлайн
Daevaornизвините за тупость при таком коде
Да. Не надо ему его скармливать.
class BookForm(ModelForm):
publication_date = forms.DateField(input_formats=('%d-%B-%Y',), )
class Meta:
model = Book
Офлайн
оказалось, что форма ввода новых объектов воспринимает формат как задано в input_formats! а при редактировании уже введенных записей input_formats игнорируется.
class BookForm(ModelForm):
publication_date = forms.DateField(input_formats=('%d/%m/%Y',),)
class Meta:
model = Book
Отредактировано (Ноя. 16, 2009 09:34:31)
Офлайн