Ještě k formulářům. Záleží jak moc se liší a kolik jich je. Pokud jsou 2 nebo 3, klidně bych copy pastoval. Pokud se liší málo, dá se použít společná šablona s nějakou podmínkou. Pokud se liší hodně, asi bych je skládal z malých šablon pro jednotlivé položky. Na takové věci používám Jinja2 makra. Podobná funkcionalita existuje i jinde. Validaci bych se snažil řešit pomocí kódu navázaným na modely do kterých se ukládá, ale mělo by jít ověřit validitu bez uložení. Záleží na konkrétním formuláři, někdy je nutné validovat formulář jako celek. Tam bych se snažil oddělit kód společný pro všechny formuláře a kód specifický pro jednotlivé typy. Možná bych si někam do databáze ukládal raw post data z toho formuláře pro pozdější kontrolu. Při opravě chyby se použijí uložená post data v testech, aby se chyba neopakovala. Je dobré do jednotlivých formulářů přidat skryté pole s typem formuláře.