Spisie treści
Mamy duży wybór typy pól kiedy pracujemy z formularzami w DjangoNadchodzi jednak czas, kiedy potrzebujemy walidacji lub zdefiniowania nowego zachowania, w tym celu możemy bez problemu dostosować nasze pola za pomocą metod Django.forms.Zaletą pracy z niestandardowymi polami w formularzach jest to, że nie musimy się martwić o ich zgodność z wiele zapleczy tak jakbyśmy byli zaniepokojeni tworzeniem nowego typu pola w modelu.
Pola niestandardowe
A pole niestandardowe w formularzu pozwala nam generować obsługę typów wprowadzania danych, które nie występują w dużej liczbie opcji, które nam oferuje DjangoDzięki temu możemy osiągać bardziej spersonalizowane wyniki, które pomagają naszej aplikacji lepiej realizować nasze cele.
Jak je tworzyć?Aby utworzyć niestandardowe pole, należy: dziedziczyć klasy Pola zawarte w Django.forms, w ten sposób gwarantujemy jego poprawne funkcjonowanie w formularzu; Innym aspektem, o którym już wspomnieliśmy, jest to, że tego typu pole jest łatwiejsze do zaimplementowania, ponieważ nie musimy brać pod uwagę pracy z różnymi backendami, czyli z wieloma bazami danych, jak to by było w modelu, ponieważ tylko ocenimy dane typu string w formularzu, gdy użytkownik wprowadza dane.
Walidacja
Jest to być może podstawowy aspekt w generowaniu nowych pól, ponieważ definiując typ walidacji możemy ustalić typ pola, ponieważ walidacja nada temu polu unikalny charakter.
Jak dołączyć walidację?Aby uwzględnić walidację, musimy uciec się do metoda czyszczenia (), metoda ta akceptuje obiekt klasy i wartość w ewaluacji, to zgodnie ze standardami, które stworzyliśmy ta metoda jest w stanie rozróżnić między wprowadzonymi danymi a czy są one zgodne z naszą walidacją, jeśli nie, to będzie w stanie zgłosić wyjątek i wysłać komunikat o błędzie, który ustawiliśmy.
Zobaczmy na poniższym obrazku kod, w którym generowane są dwa nowe typy pól niestandardowych:
Tutaj widzimy, jak stosujemy wszystko, o czym mówiliśmy, najpierw robimy import z pola w Django.forms ponieważ jest to klasa, której musimy użyć, to tworzymy klasę, która w tym przypadku będzie dziedziczyła z pola.Pole Dziesiętne, to pozwala nam zrozumieć, że nasze nowe pole będzie numeryczne.
Następnie definiujemy błąd zwany poza zakresemPomaga nam to, gdy zgłaszamy wyjątek w momencie walidacji danych, aby móc wyświetlić komunikat prowadzący użytkownika; daje nam to możliwość otrzymywania różnych typów wiadomości dla różnych błędów.
WażnyWreszcie nadpisujemy czysta metoda wewnątrz każdej nowej klasy, abyśmy mogli opracować nową walidację, najpierw używamy metody Super czysty () z tym wywołaniem metody clean() klasy pola.Pola dziesiętne dzięki temu możemy sprawdzić, czy są one poprawnym typem liczbowym przed oceną naszej własnej walidacji, co oszczędza nam konieczności lokalizowania walidacji typu wprowadzonych danych, tutaj zauważono zaletę dziedziczenia.
Na koniec zatwierdzamy nasze warunki i jeśli nie są spełnione, zgłaszamy błąd; więc stworzyliśmy już niestandardowe pole.
Na tym kończymy tutorial z dodatkowym narzędziem, które pozwala nam tworzyć aplikacje bliższe naszym potrzebom.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt