我在我的网站上创建了两个简单的视图。在第一个用户登录时,我将会话设置为'logged_in':
@app.route('/', methods=['GET', 'POST'])
def login():
error = None
if request.method == 'POST':
result = query_db('select * from user where (user_name = ? and password = ?)',
[request.form['username'], request.form['password']], one=True)
if result is None:
error = 'Invalid username and/or password'
else:
id, username, password = result
session['logged_in'] = True
return redirect(url_for('add_form'))
return render_template('login.html', error=error)
在另一个中我有一个我的用户可以填写的表单。我将从表单中检索到的数据传递给我的后端,我想将它存储在一个数据库中,用户名(或id)作为主键。我不确定跟踪用户名/用户ID的最佳方法是什么?此时我只知道用户已登录。我可以将用户名存储为全局变量,也可以将其作为参数传递给我的某个函数,但这些对我来说似乎是不好的解决方案。有没有更好的方法与Flask一起做?
第二种观点:
@app.route('/form', methods=['GET', 'POST'])
def metric_requirements():
if request.method == 'POST':
for m in request.form.getlist('form'):
...
[store the data in a db with the username as the primary key]
...
return render_template('add_form.html')