제출 된 데이터가 언 바운드 필드 및 기타 항목에 있기 때문에 MySQL 데이터베이스에 WTForms 데이터를 전송할 수 없습니다. 문자열로 변환하려고했으나 WTForms 데이터를 MySQL 데이터베이스에 제출할 수 없습니다. 무엇을해야할지 모르겠습니다.WTForms 데이터를 MySQL에 제출할 수 없습니다.
플라스크 및 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를 사용하여 웹 개발에 익숙하지 않습니다.
Schema Object Names 아래의 문서로
나는 WTForm에 대해 아무것도 몰라,하지만 이것은 옳지 않을 수 있습니다. 클래스 수준에서 양식 정의 자체에서 모든 데이터베이스 항목을 수행하고 있습니다. 폼을 처리하는 핸들러에서 POST 데이터를 승인하고 유효성을 검사하는 곳에서이 작업을 수행해야 할 것으로 추정됩니다. –