Django - MultiWidget

Spisie treści
Mówiąc o widżety, musimy wiedzieć, że są one pomostem między Kod HTML i pola Django; Mają one wiele wspólnego ze sposobem, w jaki zamierzamy kontrolować zachowanie HTML w naszych formularzach, a tym samym w naszej aplikacji.
Taka jest kontrola, że ​​możemy zastosować pewne techniki programistyczne, w których pozwolimy sobie na przechowywanie i przetwarzanie danych różnych widżetów i daj je Django jakby to były dane z jednego źródła.
Podziel dane między wiele widżetów
Działanie tego można osiągnąć za pomocą metoda render () z widget, wtedy możemy mieć pole i podczas jego przetwarzania dzielimy je na kilka wejść HTML, z których każdy zawiera część wartości, którą musimy przechowywać.
PrzykładPrzykładem może być pole Data i godzina, można to podzielić na pole, które przechwytuje tylko datę i drugie, które przechwytuje czas, ale gdy jest przechowywany w Baza danych Powinniśmy do nich dołączyć iw ten sposób mamy pełne pole, ale w części użytkownika jest ono podzielone.
Multiwidget
Jako przykład, który wskazaliśmy wcześniej, jest to dość nużące, ponieważ musielibyśmy zadbać o napisanie zbyt wielu procedur i metod, które pomagają nam w walidacji, w Django To już zostało przemyślane i mamy narzędzia, które wykonują za nas dużą część tej pracy.
Pole wielowartościowePo stronie pól mamy Pole wielowartościowe to pomaga nam w walidacji danych, ich oczyszczeniu i porównaniu z każdym z pól składających się na związek; Jedyne, co musimy tutaj zrobić, to wskazać, które pola będą tworzyć kompozycję i jak musimy je skompresować, aby były użyteczne w kodzie Pyton.
Ta metoda ma działać w połączeniu z Multiwidget który będzie odpowiedzialny za tłumaczenie na HTML wszystkiego, co wcześniej zdefiniowaliśmy w klasie formularza.
Zobaczmy poniżej obraz przykładowego kodu, w którym zaimplementowaliśmy te koncepcje:

POWIĘKSZAĆ

Tutaj widzimy, jak po raz pierwszy zdefiniowaliśmy klasę, która dziedziczy z Multiwidget, w nim wskazujemy, że będziemy mieć dwa pola Wprowadź tekst wspólników i ustanowić dekompresuj () metoda czyli taki, który oddzieli wartości do prezentacji.
W następnej klasie ustawiamy trochę więcej elementów, najpierw mówimy, że ma dziedziczyć z Pole wielowartościowe wtedy wskazujemy, że widget musisz użyć i oczywiście powiemy ci, abyś skorzystał z widżetu już zdefiniowanego powyżej.
Następnie w jego __init__ metoda Wskazujemy rodzaje pól, które będą brane i na koniec określamy metodę Kompresja (), widzimy, że oprócz siebie otrzymuje również parametr lista_danych, w tym celu przekażemy listę danych, które muszą zostać połączone i zwrócimy je jako krotkę, korzystamy również z ich walidacji, aby uniknąć otrzymania błędnych danych, które mogłyby zagrozić naszej aplikacji.
Na tym kończymy ten samouczek, widząc, jak mamy dość zaawansowane narzędzie, które pozwala nam nieco bardziej dostosować nasze formularze w naszej aplikacji w zaledwie kilku prostych krokach.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave