WTForms, 둘 이상의 SelectField가있는 양식? SelectFieldArray가 있습니까?

user3263155

나는 이것에 대한 더 나은 해결책을 찾으려고 노력하고 있습니다. 내 솔루션은 이제 매우 어색합니다 (그러나 작동합니다). 왜냐하면 20 개의 선택 필드를 원하면 ... 템플릿이 얼마나 끔찍하고 길게 보일지 상상할 수 있습니다 ...
그래서 기본적으로 내가 묻는 것은 SelectFieldArray 객체가 존재하는 것입니다. WTForm에서? 나는 문서에서 찾지 못했습니다.
그래서 여기 내 어색한 해결책
이 있습니다.

form = ResultForm()

if form.validate_on_submit():
    print form.f1.data
    print form.f2.data

내 템플릿 :

{% extends "base.html" %}
{% block body %} 
<form method="post">
    {{ form.hidden_tag() }}
    <p>
        <label for="title">
            {{form.f1.label}}
        </label><br/>
        {{form.f1}}
         <label for="title">
            {{form.f2.label}}
        </label><br/>
        {{form.f2}}

        {% if form.f1.errors %}
            <ul class="errors">
                {% for error in form.f1.errors %}
                <li>{{ error }}</li>
                {% endfor %}
            </ul>
        {% endif %}
        {% if form.f2.errors %}
            <ul class="errors">
                {% for error in form.f1.errors %}
                <li>{{ error }}</li>
                {% endfor %}
            </ul>
        {% endif %}
    </p>
    <input type="submit" value="Go">
</form>
{% endblock %}

내 WTForm 클래스 :

from flask.ext.wtf import Form
from wtforms import TextField, PasswordField,SelectField,validators
from wtforms.validators import Required
class ResultForm(Form):
f1 = SelectField(u'f1',
            coerce=int,
            validators=[validators.optional()],
            choices=[(1, 'A'),(2, 'B'),(3, 'C'),(4, 'D'),(5, 'E'),(6, 'FX'),(7, 'na')])
f2 = SelectField(u'f2',
            coerce=int,
            validators=[validators.optional()],
            choices=[(1, 'A'),(2, 'B'),(3, 'C'),(4, 'D'),(5, 'E'),(6, 'FX'),(7, 'na')])
Oliverdm

하나의 필드를 반복하려면 다음을 사용할 수 있습니다 wtforms.fields.FieldList( 필드 클로저 에 대한 문서 참조 ).

class ResultForm2(BaseForm):
    selects = FieldList(SelectField(u'Select', coerce=int,
                                    validators=[validators.optional()],
                                    choices=[(1, 'A'), (2, 'B'), (3, 'C'),
                                             (4, 'D'), (5, 'E'), (6, 'FX'),
                                             (7, 'na')]), min_entries=2)

그러면 이름이 "select-0"및 "selects-1"인 두 개의 선택 입력이 생성됩니다 (min_entries가 2로 설정 되었기 때문). 둘 다 동일한 데이터를 가지고 있습니다.

다음과 같이 동적으로 양식을 작성할 수도 있습니다 ( 동적 양식 작성 에 대한 문서 참조 ).

def my_dynamic_form(select_field_count=20):
    class F(MyBaseForm):
        pass
    for i in range(select_field_count):
        setattr(F, 'f%d' % i, SelectField('F%d' % i, coerce=int,
                                        validators=[validators.optional()],
                                        choices=[(1, 'A'), (2, 'B'), (3, 'C'),
                                                 (4, 'D'), (5, 'E'), (6, 'FX'),
                                                 (7, 'na')]))
    return F

이렇게하면 양식을 완전히 동적으로 구성 할 수 있습니다. 예를 들어 SelectFields는 다른 선택을 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

양상추 시나리오에 둘 이상의 태그가있을 수 있습니까?

분류에서Dev

C 함수 선언에 둘 이상의 식별자가있을 수 있습니까?

분류에서Dev

둘 이상의 OS가있는 Crouton

분류에서Dev

WTForms : 동일한 페이지에 두 개의 양식이 있습니까?

분류에서Dev

가상 호스트에 둘 이상의 SSL 인증서가 있습니까?

분류에서Dev

respondsToSelector는 Swift에서 둘 이상의 매개 변수가있는 Selector를 인식 할 수 없습니다.

분류에서Dev

한 줄에 둘 이상의 구조체 멤버가있을 수 있습니까?

분류에서Dev

R의 객체가 둘 이상의 클래스를 가질 수 있습니까?

분류에서Dev

webRequest 대상에 둘 이상의 URL을 가질 수 있습니까?

분류에서Dev

둘 이상의 지정된 객체가 있는지 테스트하는 R 함수가 있습니까?

분류에서Dev

Kivy의 위젯에 둘 이상의 동작을 추가 할 수 있습니까?

분류에서Dev

메서드가 둘 이상의 값을 반환 할 수 있습니까?

분류에서Dev

함수가 C에서 둘 이상의 값을 반환 할 수 있습니까?

분류에서Dev

showAsAction 안에 둘 이상의 매개 변수를 가질 수 있습니까?

분류에서Dev

SQLAlchemy가있는 Flask WTForms : 데이터베이스에 양식을 저장할 때 UnmappedInstanceError

분류에서Dev

ASP.NETSequence에 둘 이상의 요소가 있습니다.

분류에서Dev

둘 이상의 그룹화로 가장 높은 가치를 찾는 방법이 있습니까?

분류에서Dev

둘 이상의 인수가있는`decltype`의 의미

분류에서Dev

DatePicker가 양식 내부에있을 때 어떻게 열어 둘 수 있습니까?

분류에서Dev

R의 googledrive 라이브러리가 Drive 폴더에 하나의 파일 만있는 둘 이상의 파일을 식별하는 이유는 무엇입니까?

분류에서Dev

WTForms가 SelectField 상자의 유효성을 검사하지 못하는 것 같습니다.

분류에서Dev

tkcalendar가 둘 이상의 날짜 항목 위젯을 표시하는 방법이 있습니까?

분류에서Dev

둘 이상의 SQL을 실행하는 데이터 창을 가질 수 있습니까?

분류에서Dev

둘 이상의 독립 변수가있는 Tensorflow 예측의 예

분류에서Dev

하나의 어댑터가있는 둘 이상의 gridview

분류에서Dev

둘 이상의 시리즈가있는 C #의 ReportViewer 차트

분류에서Dev

프로그래밍 방식으로 wpf dgv의 행에 스타일이있는 둘 이상의 DataGridCell 추가

분류에서Dev

MSSQL-둘 이상의 관계가있는 두 테이블

분류에서Dev

둘 이상의 레코드가있는 피벗 테이블

Related 관련 기사

  1. 1

    양상추 시나리오에 둘 이상의 태그가있을 수 있습니까?

  2. 2

    C 함수 선언에 둘 이상의 식별자가있을 수 있습니까?

  3. 3

    둘 이상의 OS가있는 Crouton

  4. 4

    WTForms : 동일한 페이지에 두 개의 양식이 있습니까?

  5. 5

    가상 호스트에 둘 이상의 SSL 인증서가 있습니까?

  6. 6

    respondsToSelector는 Swift에서 둘 이상의 매개 변수가있는 Selector를 인식 할 수 없습니다.

  7. 7

    한 줄에 둘 이상의 구조체 멤버가있을 수 있습니까?

  8. 8

    R의 객체가 둘 이상의 클래스를 가질 수 있습니까?

  9. 9

    webRequest 대상에 둘 이상의 URL을 가질 수 있습니까?

  10. 10

    둘 이상의 지정된 객체가 있는지 테스트하는 R 함수가 있습니까?

  11. 11

    Kivy의 위젯에 둘 이상의 동작을 추가 할 수 있습니까?

  12. 12

    메서드가 둘 이상의 값을 반환 할 수 있습니까?

  13. 13

    함수가 C에서 둘 이상의 값을 반환 할 수 있습니까?

  14. 14

    showAsAction 안에 둘 이상의 매개 변수를 가질 수 있습니까?

  15. 15

    SQLAlchemy가있는 Flask WTForms : 데이터베이스에 양식을 저장할 때 UnmappedInstanceError

  16. 16

    ASP.NETSequence에 둘 이상의 요소가 있습니다.

  17. 17

    둘 이상의 그룹화로 가장 높은 가치를 찾는 방법이 있습니까?

  18. 18

    둘 이상의 인수가있는`decltype`의 의미

  19. 19

    DatePicker가 양식 내부에있을 때 어떻게 열어 둘 수 있습니까?

  20. 20

    R의 googledrive 라이브러리가 Drive 폴더에 하나의 파일 만있는 둘 이상의 파일을 식별하는 이유는 무엇입니까?

  21. 21

    WTForms가 SelectField 상자의 유효성을 검사하지 못하는 것 같습니다.

  22. 22

    tkcalendar가 둘 이상의 날짜 항목 위젯을 표시하는 방법이 있습니까?

  23. 23

    둘 이상의 SQL을 실행하는 데이터 창을 가질 수 있습니까?

  24. 24

    둘 이상의 독립 변수가있는 Tensorflow 예측의 예

  25. 25

    하나의 어댑터가있는 둘 이상의 gridview

  26. 26

    둘 이상의 시리즈가있는 C #의 ReportViewer 차트

  27. 27

    프로그래밍 방식으로 wpf dgv의 행에 스타일이있는 둘 이상의 DataGridCell 추가

  28. 28

    MSSQL-둘 이상의 관계가있는 두 테이블

  29. 29

    둘 이상의 레코드가있는 피벗 테이블

뜨겁다태그

보관