【发布时间】:2021-12-15 06:48:09
【问题描述】:
我有一个网站。我想让人们只需在表格中输入即可轻松更新电子邮件地址。这是我当前的代码作为尝试,但我尝试的一切都行不通。我已经为他们的电子邮件创建了一个名为 email 的列。
@app.route('/dashboard/settings', methods=['GET', 'POST'])
@login_required
def settings():
form = EmailForm()
if form.validate_on_submit():
current_user.email = form.email.data
session.commit()
return redirect("dashboard/settings")
return render_template("settings.html", form=form)
这些是我的插件
from flask import Flask, render_template, session, abort, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
from flask_login import UserMixin, login_user, LoginManager, login_required, logout_user, current_user
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField
from wtforms.validators import InputRequired, Length, ValidationError
from flask_bcrypt import Bcrypt
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView
from flask_security import roles_required
【问题讨论】:
-
EmailForm 来自哪里?您不是从任何地方导入它,这是自定义方法吗?
-
是的,它是定制的。
class EmailForm(FlaskForm): email = StringField(validators=[InputRequired(), Length( min=7, max=60)], render_kw={"placeholder": "Email Address"}) submit = SubmitField("Set")
标签: python flask sqlalchemy