gpt4 book ai didi

javascript - 自动保存 WTForm 的内容

转载 作者:行者123 更新时间:2023-12-03 12:14:26 25 4
gpt4 key购买 nike

我正在制作一个(坦白地说)有点脆弱的形式。因此,我希望每次他们在数据字段中输入内容时都会保存它。但是,在表单完成并经过验证之前,我不想将他们作为网站用户保存。

这就是我想象的 javascript 端包含的内容

$('input').blur(function() {
$.post(endpoint, form);
});

但是,我目前拥有的端点是这样的:

@auth.route('/register', methods=['GET', 'POST'])
def register():
""" register a new user using the form """
form = RegistrationForm()
if form.validate_on_submit():
new_user = User(
email=form.email.data.lower(),
first_name=form.first_name.data.title(),
last_name=form.last_name.data.title(),
username=form.username.data.lower(),
password=form.password.data
)
db.session.add(new_user)
flash('successfully registered!', 'success')
return redirect(url_for('auth.login'))
return render_template('user/register.html', form=form)

这对于注册用户来说效果很好,但是如果他们重新访问而不使他们成为用户,我如何简单地保存他们的表单数据以供以后使用?

最佳答案

我认为你必须将每个 session 存储到数据库中,当 session 和cookie通信时,你必须加载部分填写的表单数据。

恕我直言,当新用户来到应用程序时,将创建新 session ,您必须将该 session 存储到数据库中,如果用户开始填写表单,您必须随 session 变量一起更新数据,然后当相同时用户下次尝试访问时,需要从数据库加载相同的 session 。必须从 cookie 输入中识别 session ,例如

使用sid识别 session

sid = request.cookies.get(app.session_cookie_name)

接下来,您必须加载部分填写的表单数据以及该特定 session 。

加载 session

response.set_cookie(app.session_cookie_name, session.sid,
expires=self.get_expiration_time(app, session),
httponly=True, domain=domain)

example code某些上帝已经为你完成了:)

我假设您已经了解存储和检索表单数据。

关于javascript - 自动保存 WTForm 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24794408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com