Komentáře k článku
Django: Zpracovávání formulářů

Pomocí formulářů uživatelé zadávají data do aplikace. Manuální zpracovávání formulářů ale bývá pro programátory hodně otravné. Django naštěstí umožňuje formuláře generovat a zpracovávat, což programátorům usnadňuje život. V článku se na zpracování formulářů v Djangu podíváme podrobněji.
unicode a prace se stringy
Prosim vyhnete se pouzivanim bytestringu (str()) v djangu, zejmena v kombinaci s unicode stringy. Vede to k osklivym errorum ktere jsou tezko odhalitelne protoze se vyskytuji jen nekdy, vsude pouzivejte unicode.
Rovnez opetovne scitani stringu (byte i unicode) je vhodne se vyhnout, je to neumerne draha operace:
Nehlede na to, ze pokud mym zamerem je jen odeslat data v emailu, neni vhodne pozadovat po Djangu aby vstupy z formulare prevadelo na datove typy pythonu (Boolean) jen proto abych je pak prevedl zpet, ChoiceField by v tomto pripade vyhovoval mnohem vic a usetril by dost kodu (vsechny prevody na unicode v zobrazenem view).
Re: unicode a prace se stringy
Máte naprostou pravdu, všude by měla být použita metoda
unicode
, nestr
. Omlouvám se za to, nestihl jsem kód dostatečně otestovat. (Hlavně že tam o tom píšu, že je na tom místě potřeba použít unicode řetězce…)Obecnejsi kod
Kod smycky pro vypis fieldu jde pouzit o neco obecneji, misto
je IMHO lepsi pouzit ponekud obecnejsi
Pak muzeme vesele pridavat dalsi fieldy pouze do modelu a view pritom zustane netknute…
Re: Obecnejsi kod
Dobrý trik, díky.
Oprava kódu sestavujícího e-mailovou zprávu
Opravil jsem příklad podle komentářů Honzy Krále a Tomaashe. Nezahrnul jsem sice všechny připomínky (názornost je podle mě důležitější než efektivita), ale kód by teď měl být bez defektů. Ještě jednou díky oběma pozorným čtenářům.