Получите None из поля выбора в качестве значения в почтовом запросе - PullRequest
0 голосов
/ 17 октября 2019

Я тоже новый Колба. Я получаю «Нет» вместо значения из поля выбора в качестве ответа. Так что буду благодарен за помощь!

Вот мой макет:

<form method="post">
    <!-- select -->
    <div class="form-group mt-4">  
      <legend for="Sel">Choose criteria to sort</legend>
      <select class="custom-select" id="Sel" name="sel"> <!-- multiple -->       
        {% for field in form.select %}
          <option value="{{ field }}"></option>    
        {% endfor %}      
      </select>
    </div>
    <!-- submit -->
    {{form.submit(class="btn btn-primary")}}
  </form>

И вот мой взгляд:

from flask import Flask, render_template, request
from wtforms import Form, SelectField, SubmitField


app = Flask(__name__)


sel_choice = [ 
    ('sex', 'gender of the person interviewed '), 
    ('city', 'city where pool took place'),
    ('emotion', 'emotional characteristic of person`s comment'),
    ('month', 'month of poll'),
    ('poll_time', 'poll time')
]

class ChoiceForm(Form):
    select = SelectField(u'Criteria', choices=sel_choice)
    submit = SubmitField(label='apply')

@app.route('/', methods=['POST', 'GET'])
def sel():
    form =  ChoiceForm(request.form)
    if request.method == 'POST':
        print(form.select.data)
    return render_template('forms.html', form=form)

Вот что я получаю с сервера:

  • Приложение для обслуживания Flask "test.py" (отложенная загрузка)
  • Среда: разработка
  • Режим отладки: включен
  • Работает на http://127.0.0.1:5000/ (Нажмите CTRL + C, чтобы выйти)
  • Перезапуск со статистикой
  • Отладчик активен!
  • PIN-код отладчика: 231-471-963

    Нет

    127.0.0.1 - - [17 / Oct / 2019 13:00:55] "POST / HTTP / 1.1" 200 -

1 Ответ

1 голос
/ 18 октября 2019

Изменить

print(form.select.data)

на

print(request.form.get('sel'))'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...