Sto cercando di salvare il valore di un elemento jQuery che ho aggiunto al mio SurveyWizardForm
nel mio class Person(models.Model):
e quindi al mio database.Come salvare il valore di un cursore jQuery in un modello Persona?
Tutti gli altri elementi nel mio modulo sono stati creati in modo normale, creando i campi e i widget necessari nel mio forms.py e i dati per ogni domanda nel mio models.py. Di conseguenza, tutti funzionano automaticamente e vengono salvati i dati corretti.
Tuttavia, ho personalizzato il mio SurveyWizardForm
su determinate pagine per consentire all'utente di inviare una valutazione per un'immagine tramite una barra di scorrimento jQuery.
Il mio problema è che non riesco a memorizzare questo valore nel mio modello Persona.
Domanda: Come si memorizza il valore della barra di scorrimento in slider_value
nel modello Persona?
Tutti i miei tentativi finora hanno semplicemente creato una nuova voce nel modello/DB che non memorizza il valore che ho nel mio Form/views.py. Temo di non collegare correttamente i due pezzi insieme.
Qualsiasi aiuto è molto apprezzato. Grazie
mio codice finora
slider_two.js
Questo aggiorna il campo di modulo nascosto hidden1
con il valore della mia barra di scorrimento jQuery
if($(this).attr("id") == "one")
$("#hidden1").val((ui.value > 0 ? '+' : '') + ui.value);
wizard_form.html
value="0"
viene aggiornato quando l'utente sposta il cursore creato nel sopra slider_two.js
(non mostrato)
<input type="hidden" name="slider_value" value="0" id="hidden1"/>
<script src="{% static "survey/js/slider_two.js" %}"></script>
views.py
posso leggere il valore in views.py utilizzando
slider_value = self.request.POST.get('slider_value')
if slider_value is not None:
instruction_task_values.insert(0, slider_value)
logger.debug('\n\n\nThis is your instruction_task_values in 1 %s', instruction_task_values)
Funziona come il valore corretto viene stampato ogni volta sul mio registro
models.py
Si intende creare il campo nel DB per memorizzare il valore della barra di scorrimento. tutte le altre voci che creo funzionano e vengono salvate correttamente.
class Person(models.Model):
slider_value = models.IntegerField(null=True, blank=True, max_length=1000)
forms.py
Questo è dove credo che il mio problema è.
Il seguente è il mio tentativo di "connettersi" allo slider_value
esistente nel mio modulo e aggiungerlo al modello Person ma tutto ciò che fa è semplicemente creare un nuovo campo nel mio modulo.
class SurveyFormIT1(forms.ModelForm):
class Meta:
model = Person
fields = ['slider_value']
widgets = {'slider_value' : forms.HiddenInput}
è necessario passare il modulo per il modello e campo id bisogno di essere 'id =" id_slider_value "' – Goran
usando 'context.update'? – Deepend