【发布时间】:2014-02-19 07:31:17
【问题描述】:
无法将 WTForms 数据提交到 MySQL 数据库,因为提交的数据仍在未绑定字段等内容中,尽管我尝试将其转换为字符串。不知道该怎么办。
我正在尝试使用 Flask 和 WTForms 创建注册表单。当我将数据(用户名、密码、电子邮件)放入 MySQL 数据库时出现以下错误:
我试过到处寻找,但没有任何地方可以解释我如何解决这个问题。以下是相关代码:
class User():
global cur
cur = config.conn.cursor()
def __init__(self, username, password, email):
self.usr = username
self.pwd = password
self.mail = email
def database(self, username, password, email):
u_p_e = cur.execute("INSERT into users (username, pwd, e-mail) VALUES ('%s', '%s', '%s')"
% (username, password, email))
cur.commit()
class Register(Form):
reg_username = TextField('Username', [validators.Length(min=1, max = 12)])
username = str(reg_username)
reg_password = PasswordField('Password', [
validators.Required(),
validators.EqualTo('confirm_password', message='Passwords do not match')
])
confirm_password = PasswordField('Confirm Password')
password = str(confirm_password)
reg_email = TextField('Email', [validators.Length(min=6, max=35)])
email = str(reg_email)
enter_db = User(username, password, email)
enter_db.database(username, password, email)
我是使用 Flask/WTForms 进行 Web 开发的新手。
【问题讨论】:
-
我对 WTForms 一无所知,但这不可能是正确的:您在类级别的表单定义本身中处理所有数据库内容。您可能需要在处理表单的处理程序中执行此操作,它将接受 POST 数据并进行验证。
标签: python mysql flask wtforms flask-wtforms