Obsah
Zachycování uživatelských dat je pro webové aplikace životně důležité, toto zachycení mohou být předdefinovaná data, například hodnoty v vyberte pole nebo přepínače, protože to může být také otevřený text, jako je vstupní text nebo textová oblast, když očekáváme trochu obsáhlejší informace.Všechny tyto způsoby zachycování dat mají společné, kromě skutečnosti, že se jedná o prvky HTML, je to, že musí být uvnitř formuláře, formulář je kontejner, kam umístíme prvky, které zachycují uživatelská data, a poté je můžeme odeslat Metody HTTP GET nebo POŠTA přičemž poslední je nejpoužívanější.
Pole našeho formuláře
The generování formuláře v Djangu Je velmi podobný generování modelu, protože využívá také deklarativní formulář, pomocí kterého přiřazujeme každý prvek jako atribut třídy formuláře.
Zapamatovat siNavzdory výše uvedené podobnosti mají modely a formy některé důležité rozdíly, jedním z nich je, že se liší ve způsobu, jakým mohou vyhledávat a rozpoznávat pole, například model kontroluje, zda atribut má přispět_k_třídě () metodamísto toho formulář vyhledá, zda je atribut skutečně pole, a kromě toho ověří, zda se jedná o instanci Django.forms.fields.Field.
Generování formuláře
Abychom vygenerovali formulář, musíme nejprve vytvořit třídu, která ho bude obsahovat, vytvoříme z naší třídy formulářů podtřídu modul formuláře a přidáme jej do nového souboru s názvem forms.py uvnitř složky aplikace.
Uvnitř toho vytvoříme třídu Meta, v rámci této třídy uvedeme, na který model se bude náš formulář vztahovat, poté v našem pohledu uvedeme třídu formuláře a nakonec vyprázdníme šablonu aplikace. Podívejme se na následujícím obrázku na třídu formuláře:
Posledním krokem je ukázat formulář v odpovídající šabloně, k tomu použijeme kontextová proměnná formuláře aby bylo možné pole vytisknout. V následujícím kódu vidíme, co máme na mysli:
ZVĚTŠIT