Jak działają formularze Django w REST API?

Jak działają formularze Django w REST API?
pietrykovsky
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Aktualnie uczę się pisać w django z pomocą templatek, w niedalekiej przyszłości mam zamiar uczyć się Django REST framework. Jak działają formularze przy tworzeniu REST API - korzysta się z nich w ogóle? Jeśli tak, to gdzie odbywa się walidacja danych, po stronie frontu czy backendu?

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
2
pietrykovsky napisał(a):

Aktualnie uczę się pisać w django z pomocą templatek, w niedalekiej przyszłości mam zamiar uczyć się Django REST framework. Jak działają formularze przy tworzeniu REST API - korzysta się z nich w ogóle? Jeśli tak, to gdzie odbywa się walidacja danych, po stronie frontu czy backendu?

W poprawnie zrobionej aplikacji powinna być zarówno na froncie jak i z tyłu. Na backendzie dla zapewnienia completeness, czyli prawdziwa walidacja; natomiast na froncie to właściwie nie jest walidacja, tylko bardziej user-friendly sprawdzajka. Ale nazywane jest to też walidacją. Tak czy tak na froncie chodzi o UX. To jeśli mówimy o takiej walidacji bez wysyłania formularza.

Jak chcesz walidację taką że trzeba kliknąć "wyślij" i dostać error, to odsyłam do odpowiedzi @ledi12 z postu niżej.

ledi12
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
3

Walidacja formsow (django) odbywa się w backendzie, który jednocześnie wyświetla info o błędzie na froncie czyt. cripsy-frosm + forms.

Walidatory konkretnych pól definiujesz już na poziomie tworzenia modelu np max-length. Forms.form zaciąga sobie konkretny model i porównuje nadesłane info, czy jest zgodne z tym co zadeklarowałeś w modelu.

P.S jak chcesz się bawić w REST to do tego używasz serializerów a nie formsów. Tylko wtedy z reguły projekt jest rozbity na dwa -> backend (dajngo RF), front (vue/react/angular)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.