Съдържание
Улавянето на потребителски данни е жизненоважно за уеб приложенията, това улавяне може да бъде предварително дефинирани данни, като например стойности в изберете полета или бутони за избор, тъй като може да бъде и отворен текст като въвеждане на текст или текстова област, когато очакваме малко по -обширна информация.Общото между всички тези начини за улавяне на данни, освен че те са HTML елементи, е, че те трябва да са във формуляр, формата е контейнер, в който поставяме елементи, които улавят потребителски данни и след това можем да ги изпратим на Методи за получаване на HTTP или POST последният е най -използваният.
Полетата на нашата форма
The генериране на форма в Django Той е много подобен на генерирането на модел, това е така, защото използва и декларативната форма, с която присвояваме всеки елемент като атрибут на класа.
ПомняВъпреки гореспоменатото сходство, моделите и формите имат някои важни разлики, една от тях е, че те се различават по начина, по който могат да намират и разпознават полета, например модел проверява дали даден атрибут има Метод contour_to_class (), вместо това формулярът търси дали атрибутът наистина е поле и извън него проверява дали е екземпляр на Django.forms.fields.Field.
Генериране на формуляри
За да генерираме формуляр, първо трябва да създадем класа, който ще го съдържа, ние правим нашия клас формуляр подклас на модул за формуляр и го добавяме в нов файл, наречен forms.py вътре в папката на приложението.
Вътре в това ще създадем Meta клас, в този клас ще посочим към кой модел ще се отнася нашата форма, след това според нас ще посочим класа на формуляра и накрая ще изпразним шаблона на приложението. Нека видим на следното изображение клас на формуляр:
ВажноКакто виждаме импортираме компонента форми Y ние също импортираме модела на нашето приложение, по този начин можем да го използваме при деклариране на класа на формуляра. След като това стане, отиваме към изгледа, където трябва да посочим на съответния клас, че той трябва да използва този формуляр. Нека видим на изображението това:
Този изглед съответства на a Изглед, базиран на класаНа теория не е необходимо да декларираме формуляр, но нашето приложение може да изисква персонализиран формуляр, който показва по -малко полета или може да показва допълнителни полета.
Последната стъпка е да покажем формуляра в съответния шаблон, за това ще използваме контекстна променлива от формата за да можете да отпечатате полетата. В следния код можем да видим какво имаме предвид:
Увеличете
Виждаме, че дефинираме формата с HTML код и вътре прекарахме контекст на формата, това е достатъчно, за да бъдат генерирани съответните полета, друг аспект, който трябва да вземем предвид, е enctype, ако формулярът ни ще получи файл, трябва да го поставим многочастични / формулярни данни.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка