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:
out = [message]
for item in ['name', 'email', 'phone', 'reaction', 'text']:
if unicode(form.cleaned_data[item]):
out.extend([form[item].label, u': ', unicode(form.cleaned_data[item]), u'\n'])
message = ''.join(out)
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).