2016-12-14 4 views
-1

Мой POST отправляет данные выбранного RadioField, но в Flask я получаю «None» только для form.display.data. GET работает нормально, а RadioFields находятся на странице, когда я нажимаю «Отправить», отображаемая переменная отправляется в POST с правильным выбором.POSS из формы Нет

Как получить фактические данные для POST?

views.py

class Items(SimpleFormView): 
    route_base = "/manage" 
    datamodel = SQLAInterface(TerminalA82) 
    message = "Please make a seslection" 
    form = List_Items() 

    myList = Controller.generate #<-- external function provides list 
    form.display.choices = myList 

    @expose('/manage', methods=['GET']) 
    @has_access 
    def this_form_get(self): 
     return self.render_template('list_items.html', param1='Items', form=self.form) 

    @expose('/manage', methods=['POST']) 
    @has_access 
    def this_form_post(self): 
     return self.render_template('blank.html', param1=str(self.form.display.data)) 

В POST не оказывает 'Нет' на этой странице.

forms.py

class List_Items(Form): 
    display = RadioField('Items', choices=[], coerce=int) 

list_items.html (Шаблон)

{% extends "appbuilder/base.html" %} 
{% block content %} 
<h3>{{param1}}</h3> 
<form method="post"> 
    {{ form.display }} 
    <input type="submit" value="Submit"> 
</form> 
{% endblock %} 

содержание MyList

>>> print myList 
[('5', 'MyBAsic'), ('9', 'Cloudtest'), ('12', 'Test2'), ('15', 'NHLS-Test'), ('18', 'HSRC-Test')] 
>>> 

blank.html

{% extends "appbuilder/base.html" %} 
{% block content %} 
    <p>{{param1}}</p> 
{% endblock %} 
+0

печать myList и вставка blank.html. Я думаю, вам нужно прочитать его как request.form ['Items'] – user902384

+0

Я включил содержимое 'myList' и' blank.html' тоже в сообщение выше –

ответ

1

Да, если вы видите флягу документации, то вам необходимо получить доступ к этой части данных, как request.form['Items'] не как form.display.data.

+0

Когда я перехожу на 'self.request.form ['Items '] 'Я получаю ' AttributeError: объект Item' не имеет атрибута 'request'' –

+0

ни один запрос не является частью объекта Item, который был бы экземпляром класса. Просто попробуйте request.form ['Items']. Объект запроса передается фляжкой в ​​представления. – user902384

+0

, если я перехожу только к 'request.form ['Items']' then, я получаю 'NameError: глобальное имя 'запрос' не определен' –