我(坦率地说)有点脆弱的形式。因此,我希望它在每次输入数据字段时保存。但是,在表单完成并经过验证之前,我不想将它们作为用户保存到站点。
这就是我想象的包含
的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)
这适用于注册用户,但如果他们重新访问而不将其作为用户,我如何只保存他们的表单数据供以后使用?
答案 0 :(得分:1)
我认为您必须将每个会话存储到数据库中,您必须在会话和cookie通信时加载部分填充的表单数据。
恕我直言,当新用户来到应用程序时,将创建新会话,您必须将该会话存储到数据库中,如果用户开始填写表单,您必须更新数据以及会话变量,然后当相同时用户下次尝试访问时,需要从数据库加载相同的会话。必须从cookie输入中识别会话,如sid
sid = request.cookies.get(app.session_cookie_name)
接下来,您必须加载部分填充的表单数据以及该特定会话。
response.set_cookie(app.session_cookie_name, session.sid,
expires=self.get_expiration_time(app, session),
httponly=True, domain=domain)
example code已由某位神为您完成:)
我假设您已经知道存储和检索表单数据。