¿Cómo obtengo valores de los campos de formulario en el marco de django? Quiero hacer esto en vistas, no en plantillas ...
104
Usar un formulario en una vista lo explica bastante bien.
El patrón estándar para procesar un formulario en una vista tiene este aspecto:
def contact(request):
if request.method == 'POST': # If the form has been submitted...
form = ContactForm(request.POST) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
# ...
print form.cleaned_data['my_form_field_name']
return HttpResponseRedirect('/thanks/') # Redirect after POST
else:
form = ContactForm() # An unbound form
return render_to_response('contact.html', {
'form': form,
})
class ContactForm(forms.Form): my_form_field_name = forms.CharField()
Elige tu opción:
Nota: se accede al campo tan pronto como esté disponible.
fuente
form['my_field'].value()
para acceder a los valores de los formularios en la solicitud POST. Algunos días: |Puede hacer esto después de validar sus datos.
Además, lea los documentos de django. Son perfectos.
fuente
Para recuperar datos del formulario que envía la solicitud de publicación, puede hacerlo así
fuente
Yo uso django 1.7+ y python 2.7+, la solución anterior a la dosis no funciona. Y el valor de entrada en el formulario se puede obtener usando POST como se muestra a continuación (use el mismo formulario anterior):
Espero que esto ayude.
fuente