Как получить значение из поля формы в django framework? Я имею в виду, в представлениях не в шаблонах...
Как получить значение из поля формы в django framework?
Ответ 1
Использование формы в представлении в значительной степени объясняет это.
Стандартный шаблон для обработки формы в представлении выглядит следующим образом:
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,
    })
Ответ 2
Вы можете сделать это после проверки своих данных.
if myform.is_valid():
  data = myform.cleaned_data
  field = data['field']
Кроме того, прочитайте django docs. Они идеальны.
Ответ 3
Сделайте выбор:
def my_view(request):
    if request.method == 'POST':
        print request.POST.get('my_field')
        form = MyForm(request.POST)
        print form['my_field'].value()
        print form.data['my_field']
        if form.is_valid():
            print form.cleaned_data['my_field']
            print form.instance.my_field
            form.save()
            print form.instance.id  # now this one can access id/pk
Примечание: доступ к полю осуществляется, как только он доступен.
Ответ 4
Я использую django 1.7+ и python 2.7+, решение выше дозы не работает. И входное значение в форме может быть использовано POST, как показано ниже (используйте ту же форму выше):
if form.is_valid():
  data = request.POST.get('my_form_field_name')
  print data
Надеюсь, что это поможет.
