<UnboundField (TextField, ('Study',), {})> где проблема? - PullRequest
0 голосов
/ 30 апреля 2019

Я новичок в Python, я хотел создать простую страницу с Wtforms, но этот код дает мне ошибку UnboundField. Может кто-нибудь помочь мне решить проблему?

Спасибо


from flask_wtf import Form
from wtforms import StringField
from wtforms import TextField
from wtforms import SelectField
from wtforms import RadioField
from wtforms import DecimalField
from wtforms import SubmitField

from datetime import datetime
from flask import render_template
from FlaskWebProject1 import app

class StudyManagementForm(Form):
    """This seemingly static class will be transformed
    by the WTForms metaclass constructor"""
    study = TextField("Study")
    active = RadioField("Etude active")
    submit = SubmitField("Ok")

    def __init__(self):
        print ('a')

@app.route('/')
@app.route('/study_management', methods=['GET', 'POST'])
def study_management():
    submitForm = StudyManagementForm()

    return render_template(
        'study_management.html',
        form = submitForm
        )

И я получил ошибку UnboundField:

<UnboundField(TextField, ('Study',), {})> 

<UnboundField(RadioField, ('Etude active',), {})>

1 Ответ

0 голосов
/ 30 апреля 2019

У вас есть наследование класса: StudyManagementForm(Form), но вы решили специально перезаписать метод __init__(), выполнив следующее:

def __init__(self):
    print('a')

Это означает, что «казалось бы, статический класс НЕ будет преобразован», потому что теперь избегается весь этот код. Вместо этого:

def __init__(self):
    super().__init__()
    print('a')

Теперь будет выполнен оригинал Form.__init__(), после чего будет напечатан ваш оператор печати. Свободные поля будут связаны в этом процессе.

...