DOMANDA Concetti base su form e protezione dati in python (django)

fabio_1

Utente Attivo
231
8
CPU
i5-6500
Scheda Madre
ASRock H170 Pro4S
HDD
Samsung 870QVO 1TB, Samsung 850EVO 250GB, HD Toshiba 2TB
RAM
Corsair DD4 2133 C13 2x4GB
GPU
Sapphire R9 380 4GB NITRO
Audio
Integrata + DAC Audioengine D1
Monitor
LG 24MB56HQ-B IPS
PSU
XFX 550 Black
Case
Corsair Spec-03
Periferiche
Casse Edifier R1800TIII
OS
Windows 10
Buongiorno. Vista la mia scarsa esperienza mi rivolgo a voi.
Sto progettando un semplice sito dove ad un certo punto l'utente può inserire dati ma solo tramite menù a tendina, radio button, quindi niente campi ad immissione libera di testo. Non so se questo cambi qualcosa ma lo dico.

Tali dati sono raccolti da una funzione javascript e non da un form (è maschile o femminile???). Da quanto leggo però i form di django convalidano i dati, cioè guardano che non ci sia codice malefico, quindi potrebbe essere utile usarlo anche se non è strettamente necessario perchè non saprei come validarlo per conto mio. Del resto non essendoci campi 'liberi' (nel senso sono tutti radio button o campi a scelta, insomma dove i valori sono quelli che dico io) forse non serve, non so se uno possa bypassare.

Volendo usare un form, fermo restando che poi sarebbe una funzione javascript a fare il lavoro, cosa dovrei fare?
basta scrivere <form></form> attorno al mio codice o dovrei anche fare una view utile solo a validare i dati (perchè il resto lo fa la funzione javascript)?

per esempio:

Codice:
<form>
   <div style="margin:25px 0px;">
      <select id="language_filter" onchange="FilterBy(value)">
          <option value="tutti" >{% trans "Scegli un linguaggio" %}</option>
        {% for language in languages %}
          <option value="{{ language }}">{{ language }}</option>
        {% endfor %}
      </select>
    </div>
</form>

notando che il tag <form> non contiene altro (tipo action e method) e che il tutto funziona grazie alla funzione javascript "FilterBy(value)" mi domando se averlo racchiuso tra form serva a qualcosa?
Se ho ben capito il controllo avviene quando vado a fare form.is_valid() nella view quindi senza una view (e una form.py) tutto ciò è inutile?

Grazie
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!