Django - newforms, DateField=?iso-8859-2?Q?domy=B6lna_warto=B6=E6?= ustawiona na=?iso-8859-2?Q?'dzi=B6'?=
Przemek Gawronski - 23-09-2007 00:01
Django - newforms, DateField=?iso-8859-2?Q?domy=B6lna_warto=B6=E6?= ustawiona na=?iso-8859-2?Q?'dzi=B6'?=
Witam, jak ustawić w polu DateField wartość domyślną na dzisiejszą datę?
class MojFormularz(forms.Form): data = forms.DateField( initial=???? )
Przemek -- AIKIDO TANREN DOJO - Warszawa - Mokotów - Ursynów - Natolin - Kabaty info i zapisy: http://tanren.pl/ tel.:0-501-51-66-66 email:dojo@tanren.pl ul.Kulczyńskiego 2, Metro: Imielin/Natolin, Autobus: 143,165,195,436,503,505
Adam Mikuta - 23-09-2007 00:01
Dnia 22.09.2007 Przemek Gawronski <pgg@tanren.pl> napisał/a:
> class MojFormularz(forms.Form): > data = forms.DateField( initial=???? )
A nie możesz użyć czegoś z modułu time? Nie wiem czego wymaga initial, ale time.time() czy time.localtime() powinno dać radę... -- Adam "Prawda jest prosta - gdyby było inaczej każdy głupiec mógłby ją zrozumieć".
riklaunim@gmail.com - 23-09-2007 00:01
=?iso-8859-2?q?Re:_Django_-_newforms,_DateField_domy=B6lna_warto=B6=E6_ustawi ona_na_'dzi=B6'?=
Django używa datetime.date :)
Adam Mikuta - 23-09-2007 00:01
Dnia 22.09.2007 Adam Mikuta <adammikutaWytnij@gmail.wyt.nij.com> napisał/a:
>> class MojFormularz(forms.Form): >> data = forms.DateField( initial=???? ) > A nie możesz użyć czegoś z modułu time? Nie wiem czego wymaga initial, > ale time.time() czy time.localtime() powinno dać radę...
Zrób:
import datetime
data = forms.DateField(initial = datetime.datetime.now().date()) -- Adam "Prawda jest prosta - gdyby było inaczej każdy głupiec mógłby ją zrozumieć".
Przemek Gawronski - 23-09-2007 00:01
Dnia 22.09.2007 Adam Mikuta <adammikutaWytnij@gmail.wyt.nij.com> napisał/a: > data = forms.DateField(initial = datetime.datetime.now().date())
Dzięki!
-- AIKIDO TANREN DOJO - Warszawa - Mokotów - Ursynów - Natolin - Kabaty info i zapisy: http://tanren.pl/ tel.:0-501-51-66-66 email:dojo@tanren.pl ul.Kulczyńskiego 2, Metro: Imielin/Natolin, Autobus: 143,165,195,436,503,505
Filip Wasilewski - 23-09-2007 00:01
=?iso-8859-2?q?Re:_Django_-_newforms,_DateField_domy=B6lna_warto=B6=E6_ustawi ona_na_'dzi=B6'?=
On 22 Wrz, 20:59, Adam Mikuta <adammikutaWyt...@gmail.wyt.nij.com> wrote: > Dnia 22.09.2007 Adam Mikuta <adammikutaWyt...@gmail.wyt.nij.com> napisał/a: > > >> class MojFormularz(forms.Form): > >> data = forms.DateField( initial=???? ) > > A nie możesz użyć czegoś z modułu time? Nie wiem czego wymagainitial, > > ale time.time() czy time.localtime() powinno dać radę... > > Zrób: > > import datetime > > data = forms.DateField(initial = datetime.datetime.now().date())
BTW: datetime.datetime.now().date() jest równoważne datetime.date.today() - taki szczegół..
fw
Sacre - 23-09-2007 00:01
i czy nie powinno byc czasem:
date = DateField(initial=datetime.date.today)
?
-- Sacre
Adam Mikuta - 23-09-2007 00:01
Dnia 22.09.2007 Sacre <sacrebis@wp.pl> napisał/a:
> i czy nie powinno byc czasem: > date = DateField(initial=datetime.date.today) > ?
A dlaczego chcesz przekazać nie wartość zwróconą tylko samą metodę? -- Adam "Prawda jest prosta - gdyby było inaczej każdy głupiec mógłby ją zrozumieć".
Sacre - 23-09-2007 00:01
> A dlaczego chcesz przekazać nie wartość zwróconą tylko samą metodę?
Jesli zrobisz przez wartosc to initial ustawi sie raz, przy parsowaniu klasy formularza.
W ten sposob, hipotetycznie, jesli uruchomilbys serwer na dluzej niz jeden dzien, nastepnego dnia initial, wciaz mialo by wartosc uzyta podczas parsowania klasy formularza.
Nie wiem jak to sie przeklada w praktyce. Zazwyczaj jest apache/mod_python i wtedy chyba, klasy sa parsowane przy kazdym requestcie. Ale gdyby to bylo na fcgi albo potrzebowal bys datetime.now() - to by bylo zle ... :)
Django ma taki mechanizm, ze do initial(Form) i default(Model) przyjmuje obiekty callable i jesli takiego callable'a napotka to go wpierw wywoluje i bierze wartosc zwrocona przez ten obiekt.
Zeby nie byc goloslownym, wnetrznosci django (w BoundField):
data = self.form.initial.get(self.name, self.field.initial) if callable(data): data = data()
bardzo przydatny ficzer :)
-- Sacre
Adam Mikuta - 23-09-2007 00:01
Dnia 22.09.2007 Sacre <sacrebis@wp.pl> napisał/a:
> Django ma taki mechanizm, ze do initial(Form) i default(Model) przyjmuje > obiekty callable i jesli takiego callable'a napotka to go wpierw > wywoluje i bierze wartosc zwrocona przez ten obiekt.
Szczerze powiedziawszy nie znam django w ogóle. Jeśli rzeczywiście tak jest to mój błąd... -- Adam "Prawda jest prosta - gdyby było inaczej każdy głupiec mógłby ją zrozumieć".
Sacre - 23-09-2007 00:01
> > Szczerze powiedziawszy nie znam django w ogóle. Jeśli rzeczywiście tak > jest to mój błąd...
To nie tak. To niekoniecznie jest błąd. Tylko, że wtedy może się to zachowywać nie tak jakbyś tego oczekiwał :).
ps. żeby mnie ktoś źle nie zrozumiał: do initial można dać co się chce - a ficzerem jest, że można dać callable :)
-- Sacre
Przemek Gawronski - 24-09-2007 00:10
Dnia 22.09.2007 Sacre <sacrebis@wp.pl> napisał/a: > ps. żeby mnie ktoś źle nie zrozumiał: do initial można dać co się chce - > a ficzerem jest, że można dać callable :)
Dzięki za tą informacje, nie wiedziałem, a będzie dla mnie dość istotna!
Przemek -- AIKIDO TANREN DOJO - Warszawa - Mokotów - Ursynów - Natolin - Kabaty info i zapisy: http://tanren.pl/ tel.:0-501-51-66-66 email:dojo@tanren.pl ul.Kulczyńskiego 2, Metro: Imielin/Natolin, Autobus: 143,165,195,436,503,505
Tomasz Elendt - 24-09-2007 00:39
Przemek Gawronski pisze: > Witam, jak ustawić w polu DateField wartość domyślną na dzisiejszą datę? > > class MojFormularz(forms.Form): > data = forms.DateField( initial=???? ) >
Czy aby za to nie odpowiada właśnie argument auto_now_add?
data = forms.DateField(auto_now_add=True)
-- Eluś
Przemek Gawronski - 25-09-2007 00:11
Dnia 24.09.2007 Tomasz Elendt <nie.ma@maila.pl> napisał/a: > Czy aby za to nie odpowiada właśnie argument auto_now_add? > > data = forms.DateField(auto_now_add=True)
To chyba jest opcja dla pola w modelu, a nie w polu formularza.
Przemek -- AIKIDO TANREN DOJO - Warszawa - Mokotów - Ursynów - Natolin - Kabaty info i zapisy: http://tanren.pl/ tel.:0-501-51-66-66 email:dojo@tanren.pl ul.Kulczyńskiego 2, Metro: Imielin/Natolin, Autobus: 143,165,195,436,503,505
Tomasz Elendt - 27-09-2007 00:10
Przemek Gawronski pisze: > Dnia 24.09.2007 Tomasz Elendt <nie.ma@maila.pl> napisał/a: >> Czy aby za to nie odpowiada właśnie argument auto_now_add? >> >> data = forms.DateField(auto_now_add=True) > > To chyba jest opcja dla pola w modelu, a nie w polu formularza.
Faktycznie. Musiałem być zmęczony, albo mieć chwilowy niedowład mózgu :D
-- Eluś
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MS SQL 2005] =?windows-1250?Q?Ilo=9C=E6_wiersz=F3w_w_zbiorze_wynikowym?=
Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO
Czy zna (obsługuje) ktoś program Iso Draw ?
MYSQL - kodowanie w ISO-PL
strona plus baza w iso do utf-8
Kodowanie: z iso na utf
=?UTF-8?Q?=5Bmysql=5D_jak_pobra=C4=87_warto=C5=9B=C4=87_ AUTO=5F?==?UTF-8?Q?INCREMENT=3F?=
Jak =?windows-1250?Q?pobra=E6_szacowan=B9_wielko=9C=E6_zbiory_wy nikowego_w_MS?==?windows-1250?Q?_SQL_2005=3F?=
ustawianie uprawnien uzytkownika SQL 2005 serwer express ORAZ w msde
MySQL: Jak ustawic zmienna log_slow_queries bez restartu servera?
zanotowane.pldoc.pisz.plpdf.pisz.plmarcelq.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|