Cuprins
Construirea formularelor poate fi mult mai ușoară folosind clase generice de Django cu toate acestea, nu le vom folosi întotdeauna, deoarece uneori trebuie să dezvoltăm logica completă din partea noastră.Din fericire înăuntru Django De asemenea, putem crea modul în care urmează să ne procesăm formularele și cum să gestionăm logica lor, cu aceasta vom realiza aplicații mult mai personalizate și mai aproape de obiectivele noastre.
Alăturarea datelor la formular
Știm că formularul este un mod de a prelua date de la utilizator, prin urmare avem două stări ale acestuia, cu date și fără dateCând formularul conține date, atunci când vom face operațiunile noastre, pe de altă parte, când nu are nimic, trebuie pur și simplu să îl ignorăm pentru procesarea datelor.
ExercițiuVom efectua următorul exercițiu, din consola interactivă a Django, vom crea un formular și cu is_bound () metodă Vom valida dacă are date asociate, în acest fel putem vedea un pic mai mult cum se comportă formularul în cadrul, să vedem rezultatele în imaginea de mai jos:
Așa cum vedem în exemplu, numai când trecem valorile la formular în timp ce folosim metoda is_bound, obținem un Adevărat răspuns.
Validați datele
După cum știm, dacă lucrăm pe web, datele introduse de utilizator pot fi cea mai eficientă formă de atac împotriva aplicației noastre, deoarece din cauza ignoranței poate introduce orice tip de format pe care aplicația noastră nu este gata să îl accepte. și, prin urmare, se poate termina cu o eroare fatală, pentru a evita acest lucru, trebuie să ne asigurăm întotdeauna că datele sunt sigure înainte de a le prelucra pentru aceasta, putem folosi următoarele:
def my_view (request): if request.method == 'POST': form = MyForm (request.POST, request.FILES) if form.is_valid (): # Dacă datele sunt valabile aici putem continua cu logica aplicației noastre altfel : # În caz contrar, prezentăm obiectul doar fără formular de date = MyForm ()
După cum vedem în exemplu, facem o instanță a clasei MyForm și ne alăturăm datelor care vin în cerere, prin metoda POST și cele de tip DOSARE În cazul în care aducem o imagine sau un fișier de alt tip, în funcție de modelul nostru, ceea ce aduce formularul nostru trebuie evaluat pentru aceasta folosim is_valid () metodă, cu aceasta ne asigurăm că, dacă un șir vine în cazul în care ar trebui să apară un număr, informațiile sunt respinse și nu este permis accesul la baza de date unde ar putea provoca o eroare fatală.
Vizualizări bazate pe clasă
Cu ceea ce am văzut în exemplul anterior, putem vedea acum cum putem aplica ceva similar folosind Vizualizări bazate pe clasă și în acest fel utilizați instrumentele cadru.
Dacă folosim FormView generic de Django putem realiza ceva similar cu următorul cod:
din Django.shortcuts import render, redirecționare din Django.views.generic.edit import FormView clasa MyForm (FormView): form_class = MyForm template_name = 'form.html' success_url = '/ success /' def form_valid (auto, formular): formular .save () return super (MyView, self) .form_valid (formular)
După cum putem vedea, utilizarea avansată a formularelor ne permite să facem aplicațiile mai dinamice și mai personalizate, cu care putem obține rezultate incredibile cu doar câteva linii de cod.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv