我的代码中有一个关于python使用框架烧瓶的问题。我不知道我的代码中有什么错误。也许是我在wtform领域的错误。请帮帮我
这是我的错误在这里输入图像描述
我的档案: setpassword.py
from flask import render_template, Blueprint, request, redirect, url_for, abort, flash, current_app
from urlparse import urlparse, urljoin
from forms import SetpasswordForm
from flask_login import login_user, logout_user, login_required, current_user
from models import Partner, User, mail, db
from flask_mail import Message
import uuid
setpassword_blueprint = Blueprint('setpassword', __name__)
@setpassword_blueprint.route('/', methods=['GET', 'POST'])
def setpassword():
form = SetpasswordForm()
if form.validate_on_submit():
print "halo"
return render_template('forms/setpassword.html', form=form)setpassword_form.py
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField
from wtforms.validators import DataRequired, Length, Email, EqualTo
class SetpasswordForm(FlaskForm):
password = StringField('Password', [Length(min=6, max=20, message='Password minimal 6 karakter dan maksimal 20 karakter.')], [DataRequired()])
confirm_password = StringField('Confirm Password', [EqualTo('password', message='Password dan Confirm password tidak sama.')], [DataRequired()])
def __init__(self, *args, **kwargs):
FlaskForm.__init__(self, *args, **kwargs)发布于 2021-03-10 09:46:01
从doc - https://wtforms.readthedocs.io/en/2.3.x/fields/#field-definitions中,在初始化表单元素时,验证器应该在一个列表中传递,而不是由逗号分隔的多个列表中传递。
password = StringField('Password',
[Length(min=6, max=20, message='Password minimal 6 karakter dan maksimal 20 karakter.'),
DataRequired()]
)https://stackoverflow.com/questions/66561761
复制相似问题